Java若不為空則取其值的lambda表達式


 
原本的寫法是:
Map<String, Object> map = new HashMap<>();
String text = "";
if(map.get("text")!=null){
    text = map.get("text").toString().trim();
}
System.out.println(text);

 

使用Java8的Lambda表達式則為:
Map<String, Object> map = new HashMap<>();
String text = Optional.ofNullable(map.get("text"))
        .flatMap((value) -> Optional.of(value.toString().trim()))
        .orElse("");
System.out.println(text);

 

或者使用map,就不需要手動包裝成Optional了:

Map<String, Object> map = new HashMap<>();
map.put("text","123");
String text = Optional.ofNullable(map.get("text"))
        .map(value -> value.toString().trim())
        .orElse("");
System.out.println(text);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM