方法.toArray(IntFunction <a []>生成器)如何知道新数组的大小

时间:2017-05-01 16:51:01

标签: java arrays java-8 java-stream

我正在寻找一个问题的答案:方法.toArray(IntFunction generator)如何知道新数组的大小。

实际上我知道如何使用此方法创建包含所有stream元素的新数组(例如String[]::new, Size -> new String[Size]),但在原始java代码中我们可以看到IntFunction<A[]> generator将给定函数应用于int参数。我的问题是这个函数如何获得流的元素数量。

我一直在阅读这个课程的源代码3个小时,但我找不到答案。

非常感谢!

1 个答案:

答案 0 :(得分:6)

你的问题的答案在java docs中说明。

  

toArray使用   提供 generator 函数来分配返回的数组   作为分区可能需要的任何其他数组   执行或调整大小。

     

generator 函数取一个整数,该整数是   所需的数组并生成所需大小的数组。