Java 9:对可选的增强
生活随笔
收集整理的這篇文章主要介紹了
Java 9:对可选的增强
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之前 ,我寫過Java 8中引入的Optional類,該類用于對可能不存在的值進行建模并減少可能引發NullPointerException的位置的數量。
Java 9向Optional添加了三個新方法:
1. ifPresentOrElse
新ifPresentOrElse方法允許你執行一個動作,如果Optional存在,如果不同的操作Optional是不存在。 例如:
lookup(userId).ifPresentOrElse(this::displayUserDetails,this::displayError)2.流
新的stream方法使將Optional對象流轉換為其中存在的值流變得更加容易。 以前(在Java 8中),您需要兩個步驟來實現這一目標。 首先,您將過濾掉空的Optional ,然后將其余部分拆箱以獲取它們的值。 如下所示:
// In Java 8: Stream.of("alice", "bob", "charles").map(UserDirectory::lookup).filter(Optional::isPresent).map(Optional::get).collect(toList());在Java 9中,使用stream方法使代碼變得更簡單:
// In Java 9: Stream.of("alice", "bob", "charles").map(UserDirectory::lookup).flatMap(Optional::stream).collect(toList());3.或
or方法與orElseGet方法有些相似,但是返回Optional對象而不是值。 如果存在值,則返回現有的Optional 。 如果該值不存在,則返回提供功能產生的Optional 。 例如:
lookup(userId).or(() -> lookupInAnotherDatabase(userId));翻譯自: https://www.javacodegeeks.com/2017/12/java-9-enhancements-optional.html
總結
以上是生活随笔為你收集整理的Java 9:对可选的增强的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过投影增强数据模型
- 下一篇: 手机照片同步到电脑竟然这么简单手机如何跟