gpt4 book ai didi

java - 简化 ifPresentOrElse 链

转载 作者:搜寻专家 更新时间:2023-11-01 01:59:19 25 4
gpt4 key购买 nike

给定代码:

  Optional<String> myOptional = getMyOptional();
myOptional.ifPresentOrElse(
s -> Optional.ofNullable(someMap.get(s))
.ifPresentOrElse(g -> {
doSomeStuff();
},
() -> doErrHandling()),
() -> doErrHandling());

现在我正在考虑如何简化链并删除重复的代码行(() -> doErrHandling())。

最佳答案

使用 map :

Optional<String> myOptional = getMyOptional() ;
myOptional.map(s -> someMap.get(s))
.ifPresentOrElse(g -> doSomeStuff(), () -> doErrHandling());

map 将返回一个 Optional.empty() 如果原始 Optional 为空,并且将包装 someMap 的结果.get(s) 否则为 Optional

关于java - 简化 ifPresentOrElse 链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57056774/

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