事情沒有發生,因爲我相信他們應該這樣做,下面的代碼是我正在做的一件事。我創建一個arrayList然後添加一個整數數組。然後,我將一個新構建的整數數組分配給我的數組列表的第一個元素。然後我改變構造的整數數組的值。我輸出arrayList元素和整數數組,它們是相同的值,這不應該發生。更改整數數組更改ArrayList的值
ArrayList<int[]> path = new ArrayList<int[]>();
int loc2[] = {0,0};
path.add(loc2);
int loc[];
loc = path.get(0);
loc[0] += 1;
System.out.println(loc[0]);
System.out.println(path.get(0)[0]);
兩條線的代碼的系統輸出不應該是相同的,但它是。
我是在做一些徹底的錯誤或者我只是誤解了我正在做的事情?
'這不應該發生。'爲什麼不呢?他們是相同的對象 – njzk2
如果你看看引用,loc2 == loc == path.get(0) – njzk2