Java8 Optional 开发常见用法
2021-12-27 16:19:57 625
class Info {
String a;
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
}
第一个例子
针对空指针取默认值
Info a = null;
String s = Optional.ofNullable(a).map(Info::getA).orElse("");
等效于
String s = a == null ? "" : a.getA();
map可以一直嵌套, 若Info内部属性结构复杂, 则使用Optional
代码更为简洁
第二个例子
Info a = Optional.ofNullable(a).orElse(new Info());
等效于
if (a == null) {
a = new Info();
}
省去一个if, 聊胜于无