Java 8 Optional类函数解析

本文介绍了Java 8的Optional类,它提供了解决NullPointerException的方法。重点讲解了of、ofNullable、empty、ifPresent、orElse、orElseGet、orElseThrow、map、flatMap和filter等方法的用法。
摘要由CSDN通过智能技术生成

“一个解决NullPointerException的好方法。”

1. Optional.of(T value)

该方法通过一个非null的value来构造一个 Optional,返回的 Optional 包含了 value 这个值。
对于该方法,传入的参数一定不能为 null,否则便会抛出 NullPointerException。

2. Optional.ofNullable(T value)

该方法和 of 方法的区别在于,传入的参数可以为 null
该方法会判断传入的参数是否为 null,如果为 null 的话,返回的就是 Optional.empty()。

3. Optional.empty()

该方法用来构造一个空的 Optional,即该 Optional 中不包含值
其实底层实现还是 如果 Optional 中的 value 为 null ,则该 Optional 为不包含值的状态,然后在 API 层面将 Optional 表现的不能包含 null 值,使得 Optional 只存在包含值不包含值两种状态。

4. Optional.ifPresent()

如果 Optional 中有值,则对该值调用 consumer.accept,否则什么也不做。

user.ifPresent(u -> System.out.println("Username is: " + u.getUsername()));

5. Optional.orElse

如果 Optional 中有值则将其返回,否则返回 orElse 方法传入的参数。

6. Optional.orEls

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值