我正在寻找一个问题的答案:方法.toArray(IntFunction generator)如何知道新数组的大小。
实际上我知道如何使用此方法创建包含所有stream
元素的新数组(例如String[]::new, Size -> new String[Size]
),但在原始java代码中我们可以看到IntFunction<A[]>
generator将给定函数应用于int参数。我的问题是这个函数如何获得流的元素数量。
我一直在阅读这个课程的源代码3个小时,但我找不到答案。
非常感谢!
答案 0 :(得分:6)
你的问题的答案在java docs中说明。
toArray
使用 提供 generator 函数来分配返回的数组 作为分区可能需要的任何其他数组 执行或调整大小。generator 函数取一个整数,该整数是 所需的数组并生成所需大小的数组。