在研究如何在Android中传递对象引用时,我想到了以下内容。
假设我有一个以Long为键的WeakHashmap。现在我将一个对象放入这个WeakHashMap中,并将其分配给键“new Long(1)”(假设我将引用保存到此Long中)。
现在应用程序的另一部分创建了一个新的Long(1),之后我将我的第一个Long(用作键)设置为null。
- WeakHashMap中的对象会发生什么?
- 如果我用一个Long成员替换Long并让它的compare()方法返回true,如果与同一类型的另一个对象(我的自定义类)相比,它的Long中具有相同的值。
- 假设在两种情况下WeakReference被清除。如果我在清除第一个之前使用我的第二个创建的键访问WeakHasMap,是否会有所不同?
WeakHashMap
是相当危险的。 - Louis Wasserman