我是HashMap,如何覆盖等于该HashMap的方法?
谢谢。
我是HashMap,如何覆盖等于该HashMap的方法?
谢谢。
如果你愿意,你可以这样做:
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>());
在HashMap中已经equals()方法是overrriden.If要覆盖对象类的equals()方法的Eclipse快捷键 - > Alt + Shift + S + V
选择就OK了equals方法点击。
你需要做的一类自己的延伸的Hashmap
public class NewHashMap<K,V> extends HashMap<K, V>
并覆盖在equals方法
@Override
public boolean equals(Object o) {
// Your code
}
祝好运
或者更好的是,让一个单独的方法的地方比较您想要的特定包含HashMap。 例如:
public class HashMapComparator {
boolean static areMapsEqual(HashMap<String, String> aMap, HashMap<String, String> bMap) {
....
}
}
然后使用它:
boolean mapsAreEqual = HashMapComparator.areMapsEqual(firstMap, secondMap);
虽然你应该知道,这是如果你想用你的一个不正确的解决方案equals
方法搜索或分类这些包含HashMap的名单时。 我假设情况并非如此。