容器,可以优雅的判空。
以前
String a = "A"; if (a != null) { System.out.println(a); }
现在
String a = "A"; Optional<String> op = Optional.ofNullable(a); if (op.isPresent()) { System.out.println(op.get()); }
优雅就是这么。。。
Null实例
Optional<String> op = Optional.empty()
非Null实例,为null会报错。
Optional<String> op = Optional.of("A")
可Null实例,为null会创建Null实例
Optional<String> op = Optional.ofNullable("A")
op.isPresent()
简单获取
op.get()
获取,为Null获取替补。
op.orElse("替补对象") op.orElseGet(() -> "")
流式处理,Null则不处理。
map(...) flatMap(...)