2012-03-22 243 views
0

由於我對Java的幾個概念,我有一個基本問題。初始化和修改ArrayList

在這種情況下:

Device devA = new Device(); 
Device devB = new Device(); 
ArrayList<Device> allDev = new ArrayList(); 
allDev.add(devA); 
allDev.add(devB); 

如果在那之後我修改devAdevB,也allDev將做相應的修改?

+3

我不是想諷刺或什麼,但爲什麼不試試在代碼?像這樣的事情更好地學習這種方式。如果您仍然遇到麻煩,請回到這裏,發佈您的代碼和您遇到的麻煩。在別人可以嘗試幫助你之前,你需要幫助自己。 – Pete 2012-03-22 23:23:51

+0

@Pete,我理解你的意見,下次我會試問之前:) – amp 2012-03-22 23:34:53

回答

5

是的。您將devAdevB的引用添加到ArrayList。當你通過ArrayList訪問它們時,這些對象的任何改變都會反映給它們。

+0

感謝您的快速和良好的解釋! – amp 2012-03-22 23:37:20

2

在Java中,當您創建一個新對象時,您將獲得該對象的引用/句柄,並且只要您有對該對象的句柄並對該對象進行更改,具有相同引用的任何人都將能夠看到這些更改。

所以你的問題的答案是肯定的,因爲你實質上是在對同一個對象進行更改。