将Java 8 Stream
转换为数组的最简单/最快捷的方法是什么?
最简单的方法是将该toArray(IntFunction<A[]> generator)
方法与数组构造函数引用一起使用。在API文档中建议该方法。
String[] stringArray = stringStream.toArray(String[]::new);
它所要做的就是找到一个以整数(大小)作为参数的方法,并返回a String[]
,而这恰恰是它的重载之一new String[]
。
您也可以编写自己的IntFunction
:
Stream<String> stringStream = ...;
String[] stringArray = stringStream.toArray(size -> new String[size]);
的目的IntFunction<A[]> generator
是将整数(数组的大小)转换为新数组。
示例代码:
Stream<String> stringStream = Stream.of("a", "b", "c");
String[] stringArray = stringStream.toArray(size -> new String[size]);
Arrays.stream(stringArray).forEach(System.out::println);
印刷品:
a
b
c
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句