深入解析Java中Optional.of()方法+源码解析
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>
实例,并将该值存储在实例的私有成员变量中。
评论已关闭