Java新特性:Optional类
warning:
这篇文章距离上次修改已过193天,其中的内容可能已经有所变动。
Java 8 引入了 Optional
类来解决空指针异常问题。Optional
类是一个可以包含或不包含非空值的容器对象。如果值存在,Optional
对象会包含这个值,否则 Optional
对象为空。
以下是 Optional
类的一些常用方法:
of(T value)
: 创建一个包含非空值的Optional
对象。empty()
: 创建一个空的Optional
对象。isPresent()
: 如果值存在则返回true
,否则返回false
。get()
: 如果值存在则返回值,否则抛出NoSuchElementException
。orElse(T other)
: 如果值存在则返回值,否则返回指定的其他值。ifPresent(Consumer<? super T> consumer)
: 如果值存在则执行给定的操作。
示例代码:
import java.util.Optional;
public class OptionalExample {
public static void main(String[] args) {
// 创建包含非空值的Optional对象
Optional<String> optionalValue = Optional.of("Hello, World!");
// 检查值是否存在
if (optionalValue.isPresent()) {
// 值存在,获取并打印
System.out.println(optionalValue.get());
} else {
// 值不存在
System.out.println("Value not present.");
}
// 或者可以使用 orElse 方法提供默认值
String valueOrDefault = optionalValue.orElse("Default Value");
System.out.println(valueOrDefault);
// 如果值存在,执行操作
optionalValue.ifPresent(System.out::println);
// 创建空的Optional对象
Optional<String> emptyOptional = Optional.empty();
// 获取值或默认值
String valueOrDefault2 = emptyOptional.orElse("Default Value for Empty Optional");
System.out.println(valueOrDefault2);
}
}
这段代码展示了如何创建和使用 Optional
对象,包括如何检查值是否存在,如何获取值,以及如何在值存在时执行操作。
评论已关闭