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