Optional 类已经在 java 8 中引入来处理 空指针问题,java 9 的发行为 Optional 提供了新的方法html
Optional其实已经有两个方法即orelse()和orelseget(),当Optional 为空的时候,返回一个默认值。java
在使用orelse() 获取默认值:api
在使用orElseGet()方法依靠Supplier function提供一个默认值:微信
而后咱们看看新方法,有点相似于 orElseGet ()的使用改进,可是能够返回一个 Option 而不是一个简单类型:oracle
原来使用isPresent()判断是否有值,你可能写下面的if-else 方法:spa
固然咱们还有一个isPresent()方法,接受 Consumer function :指针
ifPresentOrElse方法的改进就是有了else,接受两个参数Consumer 和 Runnable:code
新的stream方法能够将 Optional 转化为stream,若是Optional 有值,Stream 中包含这个值,若是Optional 为空,那么返回一个空的stream。htm
在java 8 中加入的Stream 能够很好的处理集合的状况,因此Optional中的是个集合就好办了:get
参考:
https://www.callicoder.com/java-9-optional-api-enhancements/
有什么讨论的内容,能够加我微信公众号: