這段代碼會生成意外的輸出。正確使用自定義類的哈希表
Hashtable<Pair, Integer> results = new Hashtable<Pair, Integer>();
results.put(new Pair(0, 1), 2);
System.out.println("[DBG] " + results.containsKey(new Pair(0, 1)));
輸出是[DBG] false
。爲什麼Hashtable
無法註冊此元素?這與我嘗試將Pair
傳遞給哈希表的方式有關嗎?
(而用'@ Override'以避免試圖覆蓋散列碼的'喜歡()'或'等於(對)') – 2010-10-31 21:46:51