📅  最后修改于: 2023-12-03 15:16:25.792000             🧑  作者: Mango
OptionalLong
是 Java 8 新增加的一个类,表示一个可能存在或可能不存在 long 类型值的容器。如果值不存在,该容器称为“空容器”(empty container)。
orElseThrow(Supplier)
是 OptionalLong
类的一个方法,如果值不存在则抛出一个由 Supplier
接口提供的异常。如果值存在则返回该值。
public long orElseThrow(Supplier<? extends Throwable> exceptionSupplier)
throws Throwable
exceptionSupplier
- 一个无参方法,用于返回一个异常。如果值不存在时将被调用。如果值存在,则返回该值。如果值不存在,则抛出由 exceptionSupplier
方法提供的异常。
以下示例演示了如何使用 OptionalLong
类的 orElseThrow(Supplier)
方法:
import java.util.OptionalLong;
import java.util.Random;
public class Example {
public static void main(String[] args) {
OptionalLong optional = getRandomLong();
long value = optional.orElseThrow(() -> new RuntimeException("Value not found"));
System.out.println("Value: " + value);
}
public static OptionalLong getRandomLong() {
Random rand = new Random();
return rand.nextBoolean() ? OptionalLong.empty() : OptionalLong.of(rand.nextLong());
}
}
此示例首先调用 getRandomLong
方法获取一个可能存在或可能不存在的长整型值,然后使用 orElseThrow
方法获取该值,如果值不存在,则抛出 RuntimeException
异常。最后打印该值或异常。