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);
把每一件简单的事情做好,就是不简单;把每一件平凡的事情做好,就是不平凡!相信自己,创造奇迹~~