でテストしました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 クラスは間違っていますか?