class A{
@Override
public int hashCode() {
return 10;
}
}
public class SampleClass {
public static void main(String[] args){
Map map = new HashMap();
map.put(new A(), "A");
map.put(new A(), "B");
System.out.println(map.size());
System.out.println(new A().hashCode());
System.out.println(new A().hashCode());
}
}
輸出: -的hashCode實現
2
10
10
爲什麼2 ???。如果我們正在實現返回相同整數的hashCode方法。不應該大小爲1?
嘿,感謝您的快速回復。其實我只是繼續用代碼做無稽之談:) – Jaikrat 2012-07-07 19:29:52
是的,剛剛添加了equals()。它按預期工作。再次感謝。 – Jaikrat 2012-07-07 19:33:11
@Jaikrat請標記爲答案然後;) – Adam 2012-07-07 19:34:25