Java 为什么p1的默认值设置为0并且每次递增1
当我运行下面的简单代码段时Java 为什么p1的默认值设置为0并且每次递增1,java,arrays,lambda,integer,Java,Arrays,Lambda,Integer,当我运行下面的简单代码段时 Integer[] one = new Integer[10]; Arrays.setAll(one, p1 -> p1 * p1); System.out.println(Arrays.toString(one)); 返回的结果是 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 这意味着p1的默认值从0开始,每次递增1。我只是想知道为什么默认行为是这样设置的,我在哪里可以找到关于这种默认行为的更多信息?您正在使用setAll(
Integer[] one = new Integer[10];
Arrays.setAll(one, p1 -> p1 * p1);
System.out.println(Arrays.toString(one));
返回的结果是
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
这意味着
p1
的默认值从0开始,每次递增1。我只是想知道为什么默认行为是这样设置的,我在哪里可以找到关于这种默认行为的更多信息?您正在使用setAll(int[]数组,IntUnaryOperator生成器)
方法,该方法将传递的一元运算符应用于数组的索引
因此
从Javadoc:
生成器接受索引并生成该位置所需值的函数
您正在使用
setAll(int[]数组,IntUnaryOperator生成器)
方法,该方法将传递的一元运算符应用于数组的索引
因此
从Javadoc:
生成器接受索引并生成该位置所需值的函数
文档中对lambda获取的参数有何评论?文档中对lambda获取的参数有何评论?非常感谢!!简单而精确!!非常感谢你!!简单而精确!!
one[0] == 0 * 0
one[1] == 1 * 1
one[2] == 2 * 2
...