2014-09-11 82 views
0

我正面临Java ArrayList和singleton Object的一个小问题。Java中的ArrayList和Singleton对象

我收集了一些数据,并把他们的这个singleton对象,并把它放入ArrayList中。我需要知道,请参阅原始对象或获取该Singleton对象的副本。我需要获得单独的副本放入ArrayList。

详细解释...

回答

3

ArrayList包含对对象的引用。无论您将哪些引用放入ArrayList,这些引用都将存储在那里。例如,如果您将10个引用(例如r1,r2,...,r10)指向同一个对象,那么您将拥有一个大小为10的ArrayList,但其所有成员都将指向同一个对象。这是如何工作的。所以不要混淆,ArrayList不知道你的对象是否是单例,它只处理存储对象的引用。

+0

所以如果我添加10个对象与单身人士对象,所有10个元素将保存相同的数据。数据将是最后添加的数据。 – chathura 2014-09-11 07:03:13

+2

不,您不添加对象,您添加对列表的引用。 – 2014-09-11 07:03:47

+1

而单例模式确保在您的应用程序中只能存在一种此类对象。 – stevecross 2014-09-11 07:05:13

-1

该列表将存储您的单身人士的原始参考。 我不明白你为什么要得到单身人士的副本。这不是单身人士的工作方式。

+0

** singleton **副本:P – TheLostMind 2014-09-11 07:06:29

+0

我需要只有一个对象,并且当收集所有数据时需要分别收集它们。其实我正在开发一个电子书阅读器(分页部分)。该对象将保存文本,图像,并且一旦为页面加载数据,它们需要存储,并且为空对象再次填充数据。 – chathura 2014-09-11 07:11:13