我创建了一个基元数组,如果我执行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]++;
}
}