Java OptionalLong orElseThrow(Supplier)方法及示例

Java OptionalLong orElseThrow(Supplier)方法及示例

OptionalLong类的 orElseThrow(Supplier) 方法是用来获取OptionalLong所包含的长值。如果有一个值存在,这个方法会返回这个值,否则,这个方法会抛出一个由异常供应函数产生的异常。异常供应函数被作为一个参数传递。

语法

public <X extends Throwable> long 
    orElseThrow(Supplier<X> exceptionSupplier)
        throws X extends Throwable

参数: 该方法接受一个参数 exceptionSupplier ,它是产生一个要抛出的异常的供应函数。

返回值: 如果有的话,该方法返回值。

异常: 该方法抛出以下异常。

  • X – 如果没有值存在。
  • NullPointerException – 如果没有值并且提供异常的函数为空。
  • X扩展了Throwable

下面的程序说明了orElseThrow(Supplier)方法:
程序1 :

// Java program to demonstrate
// OptionalLong.orElseThrow(Supplier) method
  
import java.util.OptionalLong;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // create a OptionalLong
        OptionalLong opLong = OptionalLong.of(894763545123L);
  
        // apply orElseThrow(Supplier)
        long value = opLong.orElseThrow(ArithmeticException::new);
  
        System.out.println("value " + value);
    }
}

输出:
Java中的OptionalLong orElseThrow方法及示例

程序2 :

// Java program to demonstrate
// OptionalLong.orElseThrow(Supplier) method
  
import java.io.IOException;
import java.util.OptionalLong;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // create a OptionalLong
        OptionalLong opLong = OptionalLong.empty();
  
        // apply orElseThrow(Supplier)
        Long value;
  
        try {
  
            value = opLong.orElseThrow(ArithmeticException::new);
        }
        catch (ArithmeticException e) {
            // TODO Auto-generated catch block
            System.out.println("Exception " + e);
        }
    }
}

输出:
Java中的OptionalLong orElseThrow方法及示例

参考文献: https://docs.oracle.com/javase/10/docs/api/java/util/OptionalLong.html#orElseThrow(java.util.function.Supplier)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程