日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 9:对可选的增强

發布時間:2023/12/3 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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:对可选的增强的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。