深入解析Java中Optional.of()方法+源码解析
warning:
这篇文章距离上次修改已过435天,其中的内容可能已经有所变动。
Optional.of()是Java 8中引入的新特性,该方法用于创建一个包含特定值的Optional对象,如果指定的值为null,则会抛出NullPointerException。
下面是Optional.of()方法的使用示例:
import java.util.Optional;
public class OptionalExample {
public static void main(String[] args) {
// 创建包含非空值的Optional对象
Optional<String> optionalValue = Optional.of("Hello, Optional!");
// 打印Optional对象包含的值
optionalValue.ifPresent(System.out::println);
}
}当我们调用Optional.of("Hello, Optional!")时,如果传入的值不是null,则会创建一个新的Optional实例,该实例中包含了传入的值。
下面是Optional.of()方法的核心源码解析:
public static <T> Optional<T> of(T value) {
return new Optional<>(value);
}
private Optional(T value) {
this.value = Objects.requireNonNull(value);
}在这段代码中,Optional.of()方法接收一个泛型参数T,并使用Objects.requireNonNull()方法检查传入的值是否为null。如果传入的值为null,Objects.requireNonNull()将抛出NullPointerException。如果传入的值非null,则创建一个新的Optional<T>实例,并将该值存储在实例的私有成员变量中。
评论已关闭