我已經創建了一個基元數組,如果我執行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]++;
}
}
你會希望它做的,而不是增值? –