我有Hashmap,如何覆盖hashmap的equals方法?
感谢。
答案 0 :(得分:0)
如果你想要你能做到:
HashMap<String, String> map = new HashMap<String, String>(){
@Override
public boolean equals(Object o) {
// TODO comparison here
return super.equals(o);
}
};
map.equals(new HashMap<String, String>());
答案 1 :(得分:0)
在HashMap中,equals()方法已被覆盖。如果要覆盖对象类equals() 方法eclipse快捷键---&gt; alt + shift + s + v
选择等于方法点击确定。
答案 2 :(得分:0)
您需要创建一个扩展Hashmap
的类public class NewHashMap<K,V> extends HashMap<K, V>
并覆盖
中的equals方法@Override
public boolean equals(Object o) {
// Your code
}
祝你好运
答案 3 :(得分:0)
或者更好的是,在某个地方创建一个单独的方法来比较您想要的特定哈希图。例如:
public class HashMapComparator {
boolean static areMapsEqual(HashMap<String, String> aMap, HashMap<String, String> bMap) {
....
}
}
然后使用它:
boolean mapsAreEqual = HashMapComparator.areMapsEqual(firstMap, secondMap);
虽然您应该知道这是一个不正确的解决方案,以防您在搜索或排序这些HashMaps列表时使用equals
方法。我假设情况并非如此。