当我运行下面的简单代码片段时
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[] array, IntUnaryOperator generator)
方法,该方法将传递的一元运算符应用于数组的索引。
因此
one[0] == 0 * 0
one[1] == 1 * 1
one[2] == 2 * 2
...
从Javadoc:
生成一个函数,该函数接受索引并为该位置产生所需的值
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句