我正在搜索一种使用Optional库只流非空StreamEx条目的优雅方法。或者标准图书馆,如果可能的话。
目前,我正在使用以下非常详细的方法:
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方法的东西,但寻找的是Optional。
发布于 2018-01-24 10:01:12
这是添加的,但仅在java-9中:
list.stream()
.flatMap(Optional::stream)
.collect(Collectors.toList());斯图亚特马克斯这里有一个后门。
发布于 2018-01-24 11:07:22
对StreamEx问题待办事项的一些研究揭示了第49期,它提供了一种更短的方法,并包含了关于这个主题的讨论:
List<String> nonEmpty = StreamEx.of(list).flatMap(StreamEx::of).toList();更短,尽管它是否更易读是有待讨论。
https://stackoverflow.com/questions/48419273
复制相似问题