Java OptionalInt orElseThrow(Supplier)方法及示例

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

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) methodimport 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) methodimport 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)

相关推荐