2014-09-11 3 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