|
从 Java 8 引入的一个很有趣的特性是 Optional 类。Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都非常了解的异常。
本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。
Optional 是 Java 实现函数式编程的强劲一步,并且帮助在范式中实现。但是 Optional 的意义显然不止于此。
public static void main(String[] args) {
Map<String, Object> map = null;
forEach(map);
}
public static void forEach(Map<String, Object> map) {
Optional<Map<String,Object>> ofNullable = Optional.ofNullable(map);
ofNullable.ifPresent(consumer -> {
consumer.forEach((k, v) -> {
System.out.println("key = " + k);
System.out.println("value = " + v);
});
});
}
|