Java method.toArray(IntFunction<;A[]>;生成器)如何知道新数组的大小
我正在寻找一个问题的答案:method.toArray(IntFunction generator)如何知道新数组的大小 实际上,我知道如何使用此方法创建包含所有Java method.toArray(IntFunction<;A[]>;生成器)如何知道新数组的大小,java,arrays,java-8,java-stream,Java,Arrays,Java 8,Java Stream,我正在寻找一个问题的答案:method.toArray(IntFunction generator)如何知道新数组的大小 实际上,我知道如何使用此方法创建包含所有stream元素的新数组(例如String[]::new,Size->new String[Size]),但在原始java代码中,我们可以看到IntFunction生成器将给定函数应用于int参数。我的问题是这个函数如何得到流中元素的数量 我已经读了3个小时这门课的源代码,但是我没有找到答案 非常感谢 您的问题的答案在java文档中有说
stream
元素的新数组(例如String[]::new,Size->new String[Size]
),但在原始java代码中,我们可以看到IntFunction
生成器将给定函数应用于int参数。我的问题是这个函数如何得到流中元素的数量
我已经读了3个小时这门课的源代码,但是我没有找到答案
非常感谢 您的问题的答案在java文档中有说明 使用 还提供了用于分配返回数组的生成器函数 作为分区阵列可能需要的任何附加阵列 执行或调整大小 生成器函数接受一个整数,即 并生成所需大小的数组
您在哪里查找toArray()源代码?流是调用IntFunction的流。它将要创建的数组的长度传递给int函数。流知道它需要在数组中存储多少元素(如果不知道,它会多次调用IntFunction并连接所有数组)。