本文介紹了Java 8中的多個空檢查的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有以下代碼,它對于多個空檢查來說有點難看。
String s = null;
if (str1 != null) {
s = str1;
} else if (str2 != null) {
s = str2;
} else if (str3 != null) {
s = str3;
} else {
s = str4;
}
所以我試著像下面這樣使用Optional.ofNullable
,但如果有人讀了我的代碼,仍然很難理解。在Java 8中執行此操作的最佳方法是什么。
String s = Optional.ofNullable(str1)
.orElse(Optional.ofNullable(str2)
.orElse(Optional.ofNullable(str3)
.orElse(str4)));
在Java 9中,我們可以將Optional.ofNullable
與OR
一起使用,但在Java 8中是否有其他方法?
推薦答案
您可以這樣做:
String s = Stream.of(str1, str2, str3)
.filter(Objects::nonNull)
.findFirst()
.orElse(str4);
這篇關于Java 8中的多個空檢查的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,