【发布时间】:2016-01-29 11:01:32
【问题描述】:
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));
}
user 和 userId 都是 Optional 的,但不知何故,即使定义了 user,这也会与 RuntimeException 一起崩溃。
在 Java 中是否有比在 Optional 上创建条件更实用的功能?
【问题讨论】:
标签: java scala functional-programming monads optional