JDK1.8新特性之Optional容器类

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进行有效的判空和设置默认值等操作

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值