由於我對Java的幾個概念,我有一個基本問題。初始化和修改ArrayList
在這種情況下:
Device devA = new Device();
Device devB = new Device();
ArrayList<Device> allDev = new ArrayList();
allDev.add(devA);
allDev.add(devB);
如果在那之後我修改devA
或devB
,也allDev
將做相應的修改?
由於我對Java的幾個概念,我有一個基本問題。初始化和修改ArrayList
在這種情況下:
Device devA = new Device();
Device devB = new Device();
ArrayList<Device> allDev = new ArrayList();
allDev.add(devA);
allDev.add(devB);
如果在那之後我修改devA
或devB
,也allDev
將做相應的修改?
是的。您將devA
和devB
的引用添加到ArrayList
。當你通過ArrayList
訪問它們時,這些對象的任何改變都會反映給它們。
感謝您的快速和良好的解釋! – amp 2012-03-22 23:37:20
在Java中,當您創建一個新對象時,您將獲得該對象的引用/句柄,並且只要您有對該對象的句柄並對該對象進行更改,具有相同引用的任何人都將能夠看到這些更改。
所以你的問題的答案是肯定的,因爲你實質上是在對同一個對象進行更改。
我不是想諷刺或什麼,但爲什麼不試試在代碼?像這樣的事情更好地學習這種方式。如果您仍然遇到麻煩,請回到這裏,發佈您的代碼和您遇到的麻煩。在別人可以嘗試幫助你之前,你需要幫助自己。 – Pete 2012-03-22 23:23:51
@Pete,我理解你的意見,下次我會試問之前:) – amp 2012-03-22 23:34:53