簡體   English   中英

如何使用Optional進行null檢查

[英]How do I do the null check using Optional

我有以下方法

public static String convertThreeLetterWordToUpper(String str) {
    String result = Arrays.stream(
            str.split(" ")).map(s-> checkLength(s)).collect(Collectors.joining(" "));
    return result;
}

如何在不執行空檢查的情況下檢查str是否不為空,並返回結果的Optional。

您可以將原始字符串包裝在Optional.ofNullable 假設checkLength返回一個字符串,則下面的返回類型為Optional<String>

Optional.ofNullable(str)
    .map(s -> Arrays.stream(s.split(" "))
                .map(string -> checkLength(string)) 
                .collect(Collectors.joining(" ")));

如果您有返回的默認返回值,則可以只鏈接orElse()或可以使用orElseThrow()引發異常。

String result = Optional.ofNullable(str)
     .map(...)
     .orElse("someDefault");
     //.orElseThrow(() -> new RuntimeException()); Or whatever makes sense

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM