我已经创建了一个基元数组,如果我执行arr [index] ++,那么足够奇怪我的数组内容正在被修改。有人可以解释为什么数组的内容正在被修改。我也贴这说明了什么问题示例代码:
数组奇怪的后缀评估
ExpectedOutput iArr[0] = 0 , tmpArr = [1, 2, 3]
ActualOutput iArr[0] = 1 , tmpArr = [1, 5, 3]
样品等级:
class ArrayTest {
public static void main(String args[]) {
int i = 1;
int[] iArr = { 0 };
incr(iArr);
System.out.println("iArr[0] = " + iArr[0]);
int[] tmpArr = {1, 2, 3};
for (int j = 0; j < tmpArr.length; j++) {
tmpArr[i]++;
}
System.out.println("tmpArr = " + Arrays.toString(tmpArr));
}
public static void incr(int[] n) {
n[0]++;
}
}
你会希望它做的,而不是增值? –