第三章 对于所有对象都通用的方法
第8条:覆盖equals时请遵守通用约定
不覆盖equals方法的任一条件:
类的每个实例本质上都是唯一的。
不关心类的是否提供了“逻辑相等”的测试功能。
超类已经覆盖了equals,从超类继承过来的行为对于子类也是合适的。
类是私有的或是包级私有的,可以确定它的equals方法永远不会被调用。
覆盖equals所需遵守的条件:
覆盖equals方法时总要覆盖hashcode()
不要企图让equals方法过于智能
不要将equals方法中声明的Object对象替换为其他的类型
第9条 覆盖equals方法时总要覆盖hashCode
错误的hash Code的方法将会降低散列表的性能
不要试图从散列码计算中排除一个关键域来提高性能
第10条始终覆盖toString
toString 方法应该返回对象中包含的所有值的关注的信息
第11条谨慎覆盖clone
覆盖clone问题很多,自行编写一个静态克隆方法会更好
第12条考虑实现Comparable接口
考虑到排序,需实现Comparable
转载于:https://my.oschina.net/u/4003871/blog/2253836