gpt4 book ai didi

java-8 - 我如何简洁地写一个 || b 其中 a 和 b 是 optional 值?

转载 作者:行者123 更新时间:2023-12-04 02:49:20 30 4
gpt4 key购买 nike

我对任何语言的答案都很满意,但我最终想要的是 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+?

我知道我可以写 a.orElse(12) ,但如果默认“值”也是 Optional ?

显然,在 C# 中,运算符 ??做我想做的事。

最佳答案

Optional<Integer> aOrB =  a.isPresent() ? a : b;

关于java-8 - 我如何简洁地写一个 || b 其中 a 和 b 是 optional 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46912373/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com