我测试过java.util.IdentityHashMap
,见
public class IdentityHashMapTest{
public static void main(String args[]) {
Map<String, String> m = new IdentityHashMap<String, String>();
m.put("John", "Doe");
m.put("John", "Paul");
System.out.println(m.size());
}
}
按照 Java API 的说法,
此类使用哈希表实现 Map 接口,在比较键(和值)时使用引用相等代替对象相等
结果可能是2
。但实际是1
。IdentityHashMap 类错了吗?