gpt4 book ai didi

java - 如何使用Java的Optional而不带if条件来添加不同的逻辑

转载 作者:行者123 更新时间:2023-12-02 04:58:01 25 4
gpt4 key购买 nike

我想对可选值应用不同的逻辑,如下所示

Optional<String> alarm = getAlarm();
if (alarm.isPresent()) {
testAutoStopAndRollback(alarm.get());
} else {
testWithoutAutoStopAndRollback();
}

是否有更简洁的方法来实现相同的逻辑?我知道我可以将一半逻辑移至 ifPresent()

alarm.ifPresent(name -> testAutoStopAndRollback(name));

剩下的部分我该怎么做?

为了澄清这个问题,我的代码坚持 Java 8,所以我将无法使用 ifPresentOrElse在 Java 9 中。

最佳答案

我觉得你的第一个例子已经很好了。除非您可以升级到 Java 9,Optional不包含像 ifPresentOrElse 这样的方法。只要坚持编程的第一条规则:“如果它有效,就不要碰它!” :)

如果您想创建更多类来稍微清理一下代码,请查看 this question .

关于java - 如何使用Java的Optional而不带if条件来添加不同的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60642487/

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