以防意外调用.什么时候应该覆盖equals()方法呢?如果类具有逻辑相等的概念, 通常属于值类(value class)的情形...., 检查参数中的域是否与该对象中对应的域相匹配.* 当你编写完成了equals方法之后, 应该问自己三个问题: 它是否是对称的, 传递的, 一致的?...(其他两个特性通常会自动满足.)注意覆写方法加上@Override, equals方法的参数类型是Object, 不要弄错.第11条 覆盖equals时总要覆盖hashCode在每个覆盖了equals方法的类中...一个好的散列函数通常倾向于为不相等的对象产生不相等的散列码.)Hashcode的计算:* 初始值result = 17 (非零常数值, 这样散列值为0的域就会影响到结果).* 对于对象中equals涉及的每个域...clone方法, 则应该首先调用super.clone得到对象.对于实现了Cloneable的类, 我们总是期望它也提供一个功能适当的公有的clone方法, 通常, 需要该类的所有超类都提供了行为良好的