gpt4 book ai didi

java - 为什么没有Optional.or(Optional default)方法?

转载 作者:行者123 更新时间:2023-12-01 18:32:17 25 4
gpt4 key购买 nike

有没有办法让下面的代码示例更加简洁?

final FluentIterable<AuthContext> withEmails = // ...               
final Optional<AuthContext> verified = withEmails.firstMatch(VERIFIED_EMAIL);

if (verified.isPresent()) {
return verified.get();
}

return withEmails.first().orNull();

我试图做类似return verify.or(withEmails.first())的事情,但Optional中没有合适的方法.

或者,当 orNull() 方法返回 null 时,return verify.or(withEmails.first().orNull()) 将失败。

最佳答案

只需执行verified.or(withEmails.first()).orNull();

根据方法的返回类型和选择的 IDE,类型推断可能不会建议这一点,因为它返回 T 类型的另一个 Optional 而不是 T 本身。

参见Optional#or(Optional)

关于java - 为什么没有Optional.or(Optional default)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23635559/

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