gpt4 book ai didi

java - 使用 Java 可选类表示内部 if else block

转载 作者:行者123 更新时间:2023-11-30 02:30:46 25 4
gpt4 key购买 nike

if(someObject != null){
if(someObject.someAttribute.equals(someValue){
return someOtherValue;
} else {
return someObject.someAttribute;
}
} else return null;

我无法找出使用Optional编写内部if else条件的方法。如何在过滤器之后处理else条件?

Optional.ofNullable(someObject).map(a -> a.someAttribute).filter(a->a.equals(someValue)).map(a ->someOtherValue)// I'm stuck after this

最佳答案

filter 不适合此用例。你可以写:

return Optional.ofNullable(someObject)
.map(a -> a.someAttribute)
.map(a -> a.equals(someValue) ? someOtherValue: a);

如果你想在 someObjectnull 时返回 null,只需添加:

               .orElse(null);

但如果这是您的目标,那么首先使用Optional就没有什么意义。

关于java - 使用 Java 可选类表示内部 if else block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44330478/

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