2012-03-22 229 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中,当您创建一个新对象时,您将获得该对象的引用/句柄,并且只要您有对该对象的句柄并对该对象进行更改,具有相同引用的任何人都将能够看到这些更改。

所以你的问题的答案是肯定的,因为你实质上是在对同一个对象进行更改。