Java Optional orElseThrow()方法及示例

来源:这里教程网 时间:2026-02-17 21:02:10 作者:

Java Optional orElseThrow()方法及示例

Java中 java.util. Optional类的 orElseThrow() 方法用于获取该Optional实例的值(如果存在)。 在Java中的 Optional类被 用来获取这个Optional实例的值(如果存在)。如果这个Optional实例中没有值,那么这个方法就会抛出由指定供应商产生的异常。

语法

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

参数: 该方法接受 Supplier 作为X类型的参数,如果该Optional实例中没有值,则抛出一个异常。

返回供应商: 如果存在的话,此方法返回此可选实例的 。如果这个Optional实例中没有值,那么这个方法将抛出由指定的供应商产生的异常。

异常。如果这个Optional实例中没有任何值,这个方法会抛出NullPointerException。

下面的程序说明了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));    }}

输出。

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);        }    }}

输出。

Optional: Optional.emptyjava.lang.ArithmeticException

参考资料: https://docs.oracle.com/javase/9/docs/api/java/util/Optional.html#orElseThrow-java.util.function.Supplier-

相关推荐