java – 当对象Hashcode更改时,在Hashmap或Hashset中查找会发生什么
解决方法在你的例子中,一个String是不可变的,所以它的hashcode不能改变.但是假设,如果一个对象的哈希码确实改变了,而哈希表中的一个键,那么就可能会消失,就哈希表查找而言.我在这个答案中详细介绍了一个相关的问题:https://stackoverflow.com/a/13114376/139985.可以肯定的是,如果HashMap或TreeMap的密钥以影响其各自的hashcode()/equals或compare(…发生的是您违反了HashMapjavadocs中明确规定的合同.不要这样做