neu*_*242 5 java lambda functional-programming optional java-8
有没有更好的方法在Java 8中执行以下操作,避免isPresent和get?
void doStuff(String someValue, Optional<Boolean> doIt) {
if (doIt.isPresent()) {
if (doIt.get()) {
trueMethod(someValue);
} else {
falseMethod(someValue);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用map,没有成功.但我可能没有努力尝试?
您可以使用ifPresent而不是isPresent和get:
void doStuff(String someValue, Optional<Boolean> doIt) {
doIt.ifPresent (b -> {
if (b)
trueMethod(someValue);
else
falseMethod(someValue);
});
}
Run Code Online (Sandbox Code Playgroud)
编辑:固定我的代码,因为如果你不能使用三元运算trueMethod和falseMethod不返回任何东西.
| 归档时间: |
|
| 查看次数: |
254 次 |
| 最近记录: |