【发布时间】:2015-08-31 20:36:26
【问题描述】:
在 Java 8 中是否有更漂亮的方法来执行以下操作,避免使用 isPresent 和 get?
void doStuff(String someValue, Optional<Boolean> doIt) {
if (doIt.isPresent()) {
if (doIt.get()) {
trueMethod(someValue);
} else {
falseMethod(someValue);
}
}
}
我尝试使用map,但没有成功。但我可能还不够努力?
【问题讨论】:
-
使用
Optional作为方法参数可能不是一个好的设计。请参阅 OpenJDK 开发人员的 this answer。 -
我同意@Tagir Valeev。我希望,因为当
doIt为空时这个函数什么都不做,你给了我们一个过于简化的函数版本。最好的选择可能是提供覆盖。
标签: java lambda functional-programming java-8 optional