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