Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java method.toArray(IntFunction<;A[]>;生成器)如何知道新数组的大小_Java_Arrays_Java 8_Java Stream - Fatal编程技术网

Java method.toArray(IntFunction<;A[]>;生成器)如何知道新数组的大小

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文档中有说

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

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

我已经读了3个小时这门课的源代码,但是我没有找到答案


非常感谢

您的问题的答案在java文档中有说明

使用 还提供了用于分配返回数组的生成器函数 作为分区阵列可能需要的任何附加阵列 执行或调整大小

生成器函数接受一个整数,即 并生成所需大小的数组


您在哪里查找toArray()源代码?流是调用IntFunction的流。它将要创建的数组的长度传递给int函数。流知道它需要在数组中存储多少元素(如果不知道,它会多次调用IntFunction并连接所有数组)。