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

📅  最后修改于: 2023-12-03 15:16:25.792000             🧑  作者: Mango

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

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 异常。最后打印该值或异常。