Java中的 OptionalLong orElseThrow(Supplier) 方法及示例
OptionalLong 类的orElseThrow(Supplier)方法用于获取 OptionalLong 包含的 long 值。如果存在值,则此方法返回该值,否则,此方法抛出由提供异常的函数产生的异常。异常供应商函数作为参数传递。
句法:
public long
orElseThrow(Supplier exceptionSupplier)
throws X extends Throwable
参数:此方法接受一个参数exceptionSupplier ,它是产生要抛出的异常的供应函数。
返回值:此方法返回值(如果存在)。
异常:此方法抛出以下异常:
- X - 如果不存在任何值。
- NullPointerException – 如果不存在任何值并且提供异常的函数为 null
- X 扩展 Throwable
下面的程序说明了 orElseThrow(Supplier) 方法:
方案一:
// 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 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);
}
}
}
输出:
参考: https: Java Java 函数)