Der*_*usA 4 java optional chain
给定代码:
Optional<String> myOptional = getMyOptional();
myOptional.ifPresentOrElse(
s -> Optional.ofNullable(someMap.get(s))
.ifPresentOrElse(g -> {
doSomeStuff();
},
() -> doErrHandling()),
() -> doErrHandling());
Run Code Online (Sandbox Code Playgroud)
现在,我正在考虑如何简化链并删除重复的代码行(() -> doErrHandling())。
用途map:
Optional<String> myOptional = getMyOptional() ;
myOptional.map(s -> someMap.get(s))
.ifPresentOrElse(g -> doSomeStuff(), () -> doErrHandling());
Run Code Online (Sandbox Code Playgroud)
map将返回Optional.empty()如果原来Optional是空的,将包裹的结果someMap.get(s)与Optional其他。
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |