正如weakhashmap如何理解对其中一个密钥的引用现在已经过时,特别是如果密钥是一个汇集的String?
答案 0 :(得分:3)
你不能在WeakHashMap中使用String文字(你可以,但它没有意义):
String myKey = "somekey";
相反,你必须使用:
String myKey = new String("somekey");
在后一种情况下,String不会被合并。
答案 1 :(得分:1)
“过时”这个词是不精确的。有问题的条件是“垃圾收集”。当密钥被垃圾收集时,将从WeakHashMap中删除一个值。周期。