【发布时间】:2015-04-18 23:30:45
【问题描述】:
我有一个列表 List<String> (list1) 和一个函数 Integer foo(String s)。使用 Java 8 的强大功能,我想通过将foo 应用于list1 的每个项目,将list1 转换为List<Integer>。以下代码有效,但有一点问题:
List<Integer> list2 = list1.stream().mapToInt(s -> foo(s)).boxed().collect(Collectors.toList());
当foo为list1的某些元素返回null时,会抛出NullPointerException。此外,我的解决方案看起来有点不方便。那么有没有更好的呢?
【问题讨论】:
标签: java list java-8 java-stream