我正在阅读Downey的Think Java,它最近引入了增强for循环。有人提到增强for循环在遍历数组时不考虑元素索引。我认为,这不会阻止类似如下的方法从工作:增强for循环遍历Java
public static double[] powArray(double[] a) {
for (double value : a) {
value = Math.pow(value, 2.0);
}
return a;
}
然而,似乎它(的代码的其余部分到这属于似乎罚款)。只是要注意,这种方法结束返回时,我运行下面的同一阵列:
System.out.println(Arrays.toString(powArray(a)));
我想我无法理解该问题是否在这里在于我如何处理增强的for循环或数组引用。 在此先感谢!
你预期结果会是什么? –
我以为它会返回一个平方的元素的数组。 –
查看[JLS](https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.14.2),其中显示“增强的for语句是等效的到表格的基本声明:“。你正在平方一个新变量,而不是数组元素。 –