📌  相关文章
📜  Java中的 OptionalInt orElseThrow(Supplier) 方法及示例

📅  最后修改于: 2022-05-13 01:55:03.754000             🧑  作者: Mango

Java中的 OptionalInt orElseThrow(Supplier) 方法及示例

OptionalInt 类的orElseThrow(Supplier)方法用于获取 OptionalInt 包含的值。如果存在值,则此方法返回该值,否则,此方法抛出由提供异常的函数产生的异常。异常供应商函数作为参数传递。

句法:

public  int 
    orElseThrow(Supplier exceptionSupplier)
        throws X extends Throwable

参数:此方法接受一个参数 exceptionSupplier,它是产生要抛出的异常的提供函数。

返回值:此方法返回值(如果存在)。

异常:此方法抛出以下异常:

  • X - 如果不存在任何值。
  • NullPointerException – 如果不存在任何值并且提供异常的函数为 null
  • X 扩展 Throwable

下面的程序说明了 orElseThrow(Supplier) 方法:
方案一:

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

输出:

方案二:

// 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: Java Java 函数)