我正在寻找一种使用 StreamEx 库仅流式传输非空 Optional
条目的优雅方式。或者标准库,如果可能的话。
目前我正在使用以下相当冗长的方法:
List<Optional<String>> list =
Arrays.asList(Optional.of("A"), Optional.empty(), Optional.of("B"));
List<String> nonEmpty =
StreamEx.of(list).filter(Optional::isPresent).map(Optional::get).toList();
我基本上是在寻找类似 StreamEx 的 nonNull
的东西方法,但对于可选
。
最佳答案
嗯,这已经被添加了,但只在 java-9 中:
list.stream()
.flatMap(Optional::stream)
.collect(Collectors.toList());
Stuart Marks 有一个后向端口 here
关于java - 使用 StreamEx 从 Stream 中删除空的 Optionals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48419273/