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

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

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

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

句法:

public  long 
    orElseThrow(Supplier exceptionSupplier)
        throws X extends Throwable

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

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

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

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

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

// Java program to demonstrate
// OptionalLong.orElseThrow(Supplier) method
  
import java.util.OptionalLong;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // create a OptionalLong
        OptionalLong opLong = OptionalLong.of(894763545123L);
  
        // apply orElseThrow(Supplier)
        long value = opLong.orElseThrow(ArithmeticException::new);
  
        System.out.println("value " + value);
    }
}

输出:

方案二:

// Java program to demonstrate
// OptionalLong.orElseThrow(Supplier) method
  
import java.io.IOException;
import java.util.OptionalLong;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // create a OptionalLong
        OptionalLong opLong = OptionalLong.empty();
  
        // apply orElseThrow(Supplier)
        Long value;
  
        try {
  
            value = opLong.orElseThrow(ArithmeticException::new);
        }
        catch (ArithmeticException e) {
            // TODO Auto-generated catch block
            System.out.println("Exception " + e);
        }
    }
}

输出:

参考: https: Java Java 函数)