我对任何语言的答案感到满意,但我最终想要用Java解答.(Java 8+很好.不仅限于Java 8.我试图修复标签.)
如果我有两个Optional<Integer>
值,我如何简洁地计算等价物a || b
,意思是:a
如果它被定义; 否则b
,如果已定义; 否则empty()
?
Optional<Integer> a = ...;
Optional<Integer> b = ...;
Optional<Integer> aOrB = a || b; // How to write this in Java 8+?
Run Code Online (Sandbox Code Playgroud)
我知道我可以写a.orElse(12)
,但如果默认的"值"也是Optional
怎么办?
显然,在C#中,运营商??
做了我想要的.