如何将 Java 8 IntStream 转换为列表?IntStream::boxed
我正在查看的文档,我看到一种方法,但无法直接转到IntStream
toArray
List<Integer>
当然,有一种方法可以将 a 转换为 ?Stream
List
我正在查看的文档,我看到一种方法,但无法直接转到IntStream
toArray
List<Integer>
当然,有一种方法可以将 a 转换为 ?Stream
List
IntStream::boxed
IntStream::boxed
将 IntStream
转换为 Stream<Integer>
,然后可以将其收集
到 List 中
:
theIntStream.boxed().collect(Collectors.toList())
该方法将 的基元值转换为 Integer
对象流。“boxing”这个词命名了⬌转换过程。请参阅 Oracle 教程。boxed
int
IntStream
int
Integer
Java 16 带来了更短的 toList
方法。生成不可修改的列表。在这里讨论。
theIntStream.boxed().toList()
您还可以在 Stream 上使用 mapToObj(),它采用 IntFunction 并返回一个对象值 Stream,该 Stream 由将给定函数应用于此流的元素的结果组成。
List<Integer> intList = myIntStream.mapToObj(i->i).collect(Collectors.toList());