之前为了解决代码中的空指针异常,经常使用Optional.ofNullable(doA()).orElse(doB())
原本以为doA返回null才会执行doB,后来发现doA()和doB()都会执行
例如:
public class TestOptional {
public static void main(String[] args) {
String bb = Optional.ofNullable(doA()).orElse(doB());
System.out.println("bb: " + bb);
}
private static String doA() {
String aa = "1";
System.out.println("doA() aa: " + aa);
return aa;
}
private static String doB() {
String aa = "2";
System.out.println("doB() aa: " + aa);
return aa;
}
}
输出:
doA() aa: 1
doB() aa: 2
bb: 1