Optional容器类
这里写目录标题
1.概念
Optional类是Java提供的一个可以为null的容器对象,提供的方法可以有效避免空指针问题
2.常用的方法
empty():提供一个内容为空的Optional对象
ofNullable():传入的对象可以为null
of():传入的对象不能为空否则会报空指针
isPresent():判断Optional对象中是否有非空内容
get():获取Optional对象的内容,如果为空则抛出NoSuchElementException异常
orElse():获取Optional对象,如果为空则返回一个默认值
3.使用实例
实例1:在项目中生成证书时,存在三级证书,三级证书需要二级证书生成的结果而生成,二级证书需要一级证书的结果进行生成,所以在返回一级二级证书时使用Optional容器来进行返回,再对返回的对象进行校验可以优雅的避免以为一级证书返回值为空的空指针问题。
实例2:比如存在User类中其属性为id和name,其中id可能为null
public class User{
private Long id;
private String name;
//get和set方法
}
在使用user对象是直接调用getId()方法可能会出现NullPointerException异常
为了避免这种情况可以使用Optional来包装id
public class User{
private Optional<Long> id;
private String name;
//get和set方法
}
在获取id时可以对id进行有效的判空和设置默认值等操作