gpt4 book ai didi

java - Scala Option.orElse 等效于 Java Optional

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:41:04 26 4
gpt4 key购买 nike

Option 定义了以下方法:

def orElse[B >: A](alternative : => scala.Option[B]) : scala.Option[B]

我试图在 Java 8 中找到类似的东西。我得出了这个表达式:

private String userId() {
return user.map(User::getUsername)
.orElse(this.userId.orElseThrow(RuntimeException::new));
}

useruserId 都是 Optional,但不知何故这会因 RuntimeException 而崩溃,即使 user 已定义。在 Java 中是否有比开始在 Optional 上制作条件更实用的东西?

最佳答案

您正在寻找的是 Optional.or Java 9 中引入的方法:

public Optional<T> or​(Supplier<? extends Optional<? extends T>> supplier)

关于java - Scala Option.orElse 等效于 Java Optional,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33411938/

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