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








