欢迎访问我的个人网站==》 jiashubing.cn

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);

 

posted @ 2017-09-06 09:22  贾树丙  阅读(10436)  评论(0编辑  收藏  举报