gpt4 book ai didi

Java 可选 orElse

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

当在 map 步骤之一中得到空列表时,如何调用 orElse

MyObj myObj = new MyObj();
myObj.setAaa("aaa");
myObj.setBbb("bbb");
List<MyObj> myObjects = Arrays.asList(myObj);

Optional<List<MyObj>> opt = Optional.ofNullable(myObjects);

List<MyObj> result = opt
// .filter(el -> !returnEmptyList().isEmpty(el))
.map(el -> returnEmptyList(el))
.map(...)
.map(...)
.orElse(myObjects);

当我的 map 步骤结果是一个空列表时,如何确保我会到达 orElse

我的过滤步骤方法有效,但我不想调用 returnEmptyList() 两次。

最佳答案

如果 map 操作可以返回一个空列表,您可以在 orElse 之前放置一个 filter 作为:

.map() // this can return an empty list
.filter(l -> !l.isEmpty())
.orElse(<return some default value>);

// if the list is empty, it would evaluate to Optional.empty() and return via orElse

关于Java 可选 orElse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56024527/

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