Java OptionalInt orElseThrow(Supplier)方法及示例
OptionalInt类的 orElseThrow(Supplier) 方法用于获取OptionalInt包含的值。如果有一个值存在,该方法将返回该值,否则,该方法将抛出一个由异常供应函数产生的异常。异常供应函数作为一个参数被传递。
语法
public <X extends Throwable> int
orElseThrow(Supplier<?X> exceptionSupplier)
throws X extends Throwable
参数: 该方法接受一个参数exceptionSupplier,它是产生一个要抛出的异常的供应函数。
返回值: 如果有的话,该方法返回值。
异常: 该方法抛出以下异常。
- X – 如果没有值存在。
- NullPointerException – 如果没有值并且提供异常的函数为空。
- X扩展了Throwable
下面的程序说明了orElseThrow(Supplier)方法:
程序1 :
// Java program to demonstrate
// OptionalInt.orElseThrow(Supplier) method
import java.util.OptionalInt;
public class GFG {
public static void main(String[] args)
{
// create a OptionalInt
OptionalInt opint
= OptionalInt.of(24);
// apply orElseThrow(Supplier)
int value
= opint.orElseThrow(ArithmeticException::new);
System.out.println("value " + value);
}
}
输出:
程序2 :
// Java program to demonstrate
// OptionalInt.orElseThrow(Supplier) method
import java.io.IOException;
import java.util.OptionalInt;
public class GFG {
public static void main(String[] args)
{
// create a OptionalInt
OptionalInt opint
= OptionalInt.empty();
// apply orElseThrow(Supplier)
int value;
try {
value
= opint.orElseThrow(IOException::new);
}
catch (IOException e) {
System.out.println("Exception " + e);
}
}
}
输出:
参考文献: https://docs.oracle.com/javase/10/docs/api/java/util/OptionalInt.html#orElseThrow(java.util.function.Support)