Java weakhashmap是如何工作的?

Java weakhashmap是如何工作的?,java,hashmap,Java,Hashmap,正如weakhashmap如何理解对其中一个键的引用现在已经过时了,特别是如果该键是一个合并的字符串?您不能将字符串文字与weakhashmap一起使用(当然可以,但没有意义): 相反,您必须使用: String myKey = new String("somekey"); 在后一种情况下,字符串不合并。单词“过时”不精确。问题的条件是“垃圾已收集”。如果密钥被垃圾回收,则会从WeakHashMap中删除一个值。句号。这将有助于说明这些示例是相同的。字符串文字是字符串。在任何字符串没有(强/正

正如weakhashmap如何理解对其中一个键的引用现在已经过时了,特别是如果该键是一个合并的字符串?

您不能将字符串文字与weakhashmap一起使用(当然可以,但没有意义):

相反,您必须使用:

String myKey = new String("somekey");

在后一种情况下,字符串不合并。

单词“过时”不精确。问题的条件是“垃圾已收集”。如果密钥被垃圾回收,则会从WeakHashMap中删除一个值。句号。

这将有助于说明这些示例是相同的。字符串文字是字符串。在任何字符串没有(强/正常)引用后的某个阶段,它将被垃圾收集。不完全相同:
String myKey = new String("somekey");