Java 中可选的 orElseThrow()方法,带示例
原文:https://www . geesforgeks . org/optional-orelsthrow-method-in-Java-with-examples/
的or lsethrow()方法。Java 中的可选类 用于获取这个可选实例的值(如果存在的话)。如果此可选实例中没有值,则此方法将引发从指定供应商生成的异常。
语法:
public <X> T
orElseThrow(Supplier<X> exceptionSupplier)
throws X extends Throwable
参数:此方法接受 供应商 作为类型 X 的参数,如果此可选实例中没有值,则抛出异常。
返回供应商:此方法返回此可选实例的值(如果存在)。如果此可选实例中没有值,则此方法将引发从指定供应商生成的异常。
异常:如果此可选实例中没有值,此方法将引发空指针异常。
下面的程序举例说明了 orElseThrow()方法: 程序 1:
// Java program to demonstrate
// Optional.orElseThrow() method
import java.util.*;
import java.util.function.*;
public class GFG {
public static void main(String[] args)
{
// create a Optional
Optional<Integer> op
= Optional.of(9455);
// print supplier
System.out.println("Optional: "
+ op);
// orElseThrow supplier
System.out.println(
"Value by orElseThrow("
+ "ArithmeticException::new) method: "
+ op.orElseThrow(
ArithmeticException::new));
}
}
Output:
Optional: Optional[9455]
Value by orElseThrow(ArithmeticException::new) method: 9455
程序 2:
// Java program to demonstrate
// Optional.orElseThrow() method
import java.util.*;
import java.util.function.*;
public class GFG {
public static void main(String[] args)
{
// create a Optional
Optional<Integer> op
= Optional.empty();
// print supplier
System.out.println("Optional: "
+ op);
try {
// orElseThrow supplier
System.out.println(
"Value by orElseThrow("
+ "ArithmeticException::new) method: "
+ op.orElseThrow(
ArithmeticException::new));
}
catch (Exception e) {
System.out.println(e);
}
}
}
Output:
Optional: Optional.empty
java.lang.ArithmeticException
版权属于:月萌API www.moonapi.com,转载请注明出处