Optional新类型

可以通过链式调用优雅(简单易读)地避免繁琐的null值判断,避免空指针异常而用指定方式处理,可代替任何类型的值,但需要根据具体情况谨慎选择,因为有时候使用Optional可能会增加代码的复杂度
一般来说,代码逻辑比较复杂,或者方法返回值可能为空,才考虑使用

凭空创建方式:
Optional.of(T t) : 创建一个t类型Optional 实例
Optional.empty() : 创建一个空Optional 实例
Optional.ofNullable(T t): 有T创建含T的O,没T创建空O
 

boolean Optional.isPresent() : 判断Opt是否有值
Optional.isPresent(Consumer c) 调用者有值返回消费结果否则摆烂
T get() : 有值则将其返回,否则抛出NoSuchElementException
T Optional.orElse(T t) : 调用者有值,返回该值,否则返回t
T Optional.orElseGet(Supplier s) :如果调用对象包含值,返回该值,否则返回生产结果
<U>Optional.map(Function<T,U> f): 如果调用者不为空,返回转化后的调用者;否则返回空Opt

使用场景:

        存在做的什么
        Optional userNameO = Optional.ofNullable("zsl");
        userNameO.ifPresent(s -> System.out.println("用户名为" + s));

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值