雖然做了一些關於如何在Android中傳遞對象引用的研究,但我正在考慮以下內容。WeakHashMap類型如長,Int或字符串
我們假設我有一個WeakHashmap和Long作爲鍵。現在我把一個對象放到這個WeakHashMap中,並將它分配給key'new Long(1)'(假設我將保存對這個Long的引用)。
現在應用程序的另一部分創建一個新的Long(1),之後我將第一個Long(用作鍵)設置爲null。
- WeakHashMap中的對象會發生什麼情況?
- 如果我用Long成員替換Long並讓它的compare()方法返回true,如果它與Long中具有相同值的另一個相同類型的對象(我自己的類)進行比較,則返回true。
- 假設在這兩種情況下WeakReference被清除。如果在清除第一個輸出之前使用我的第二個創建的密鑰訪問WeakHasMap一次,它會有所作爲嗎?
使用'WeakHashMap'與你不能控制的類型相當危險。 – 2013-04-22 20:30:38
如果你知道自己在做什麼,通常有風險的事情會變得非常方便。這就是爲什麼我問;-) – Chris 2013-04-22 22:10:57