JDK8新特性之Optional

2 篇文章 0 订阅
1 篇文章 0 订阅

Optional中避免Null检查

可以为null的容器对象,作用就是为了解决避免NULL检查,防止抛出空指针异常

基本使用

创建Optional对象
Optional.of() ;//创建Optional对象
//传入非空值可正常运行,传入null则会抛出空指针异常
Optional.ofNullLable();
//即可传入具体指,也可传入null
Optional.empty();
//无参数,传入一个空
判断Optional是否有具体值
Optional op = Optional.of("***");
op.isPresent();//会返回一个Boolean对象
//有值返回truee,无值返回false
获取Optional中的值
Optional op = Optional.of("***");
op.get();//如果有值返回值,无值会报错

高级使用

orElse
//有值
Optional<String> op = Optional.of("****");
//无值
Optional<String> op2 = Optional.empty();
//如果op2为空,则会返回op值,否则会返回op值,所以op值不能为空
String op3 = op2.isElse(op);
ifPresent
//有值
Optional<String> op = Optional.of("****");
//无值
Optional<String> op2 = Optional.empty();
//含义:如果Optional对象存在值,则执行lambda表达式,否则什么也不做
op.ifPresent(s ->{
	System.out.println(op);
});
op2.ifPresent(s ->{
	System.out.println(op2);
})
ifPresentOrElse
//有值
Optional<String> op = Optional.of("****");
//无值
Optional<String> op2 = Optional.empty();
//含义:如果Optional对象存在值,则执行第一个lambda表达式,否则执行第二个lambda表达式
op.ifPresentOrElse(s ->{
	System.out.println(op),()->{
	System.out.println("没有值")
	}
});

该接口在JDK9版本,8版本是没有的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值