java 9 中对 Optional API 的加强

Optional 类已经在 java 8 中引入来处理 空指针问题,java 9 的发行为 Optional 提供了新的方法html

Optional.or() method

Optional其实已经有两个方法即orelse()和orelseget(),当Optional 为空的时候,返回一个默认值。java

在使用orelse() 获取默认值:api

在使用orElseGet()方法依靠Supplier function提供一个默认值:微信

而后咱们看看新方法,有点相似于 orElseGet ()的使用改进,可是能够返回一个 Option 而不是一个简单类型:oracle

 

Optional.ifPresentOrElse() method

原来使用isPresent()判断是否有值,你可能写下面的if-else 方法:spa

固然咱们还有一个isPresent()方法,接受 Consumer function :指针

ifPresentOrElse方法的改进就是有了else,接受两个参数Consumer 和 Runnable:code

Optional.stream() method

新的stream方法能够将 Optional 转化为stream,若是Optional 有值,Stream 中包含这个值,若是Optional 为空,那么返回一个空的stream。htm

在java 8 中加入的Stream 能够很好的处理集合的状况,因此Optional中的是个集合就好办了:get

 

参考:

https://www.callicoder.com/java-9-optional-api-enhancements/

 

有什么讨论的内容,能够加我微信公众号:

相关文章
相关标签/搜索