Optional 可选,可能为null可能不为null,Java中解决空指针异常NullPointerException
一般情况下我们会
if(person != null){
......
}
Optional是基于值的一个final类,本身是一个容器,包着一个值。
public static void main(String[] args) { Optional<String > stringOptional = Optional.empty(); if (!stringOptional.isPresent()){ System.out.println("stringOptional 为空"); } Optional<String> stringOptional1 = Optional.of("hello optional"); if (stringOptional1.isPresent()){ System.out.println(stringOptional1.get()); } }
这样和上面的判断对象是否为空不是没有什么区别吗?等等,我们换一个方式
stringOptional1.ifPresent(item -> System.out.println(item));
System.out.println(stringOptional.orElse("stringOptional的值为空"));
这样就简洁多了