由于我对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