对于所有对象都通用的方法equals、hashCode
呵呵再补充下,摘录自我的wiki(读
笔记):
?
?
?
?
?
超类已经覆盖了equals,并且子类认为是合适的,如:Map的equals实现继承了?AbstractMap.equals,List的equals实现继承了?AbstractList的equals
类是私有的或是包级私有的,可以确定永远不会被调用equals方法: 需要覆盖equals:throw new??AssertionError("不要调用我");
如果类有自有的“逻辑相等”就需要覆盖equals方法了equals通用约定:?
?
long return (int)(f^(f>>>32))
float return Float.floatToIntBits(f)double return Double.doubleToLongBits(f)再作为long型来计算散列值引用对象return null?0:f.hasCode();如果是数组,递归处理每一个元素