我正在自学Java;因此下面的代码除了用于学习/测试之外没有其他功能。
本质上,我正在尝试在 foreach 循环中修改整数数组的元素(即,将它们减半)。
我应该注意,我没有重新排序、添加或删除元素;只是改变他们的价值观。
这是我的代码:
Logger.describe("Now copying half of that array in to a new array, and halving each element");
Integer[] copyArray = new Integer[DEFAULT_SAMPLE_SIZE / 2];
System.arraycopy(intArray, 0, copyArray, 0, DEFAULT_SAMPLE_SIZE / 2);
for (Integer x : copyArray) x /= 2;
Logger.output(Arrays.deepToString(copyArray));
但是,原始数组(intArray)是这样的:
[47, 31, 71, 76, 78, 94, 66, 47, 73, 21]
copyArray 的输出是:
[47, 31, 71, 76, 78]
因此,尽管数组的大小减半,但元素(整数)的值并没有减半。那么我做错了什么?
谢谢