摘要: Cloneable接口表明这样的对象时允许克隆的,但这个接口并没有成功达到这个目的,主要是因为它缺少一个clone方法,Object的clone方法是受保护的。如果不借助反射,就不能仅仅因为一个对象实现了Colneable就可以钓鱼clone方法,即使是反射调用也不能保证这个对象一定具有可访问clo 阅读全文
posted @ 2017-04-18 21:12 哀&RT 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 虽然java.lang.Object提供了toString实现,如下 它包含类名称,一个"@"符号,以及散列码的无符号十六进制表示法。但这一般不是我们所希望看到的。因此建议所有子类覆盖这个toString方法。提供好的toString实现可以使类用起来更加舒适,当对象被传递给println、prin 阅读全文
posted @ 2017-04-18 20:29 哀&RT 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 在每个覆盖equals方法的类中,也必须覆盖hashCode方法。否则,会违反Object.hashCode的通用约定,从而导致该类无法结合所有基于散列的集合一起正常工作,包括HashMap,HashSet,Hashtbale。 下面我们先看下hashCode约定内容: 1.只要对象equals方法 阅读全文
posted @ 2017-04-18 14:29 哀&RT 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 覆盖equals方法看似很简单,但是有许多覆盖方法或导致错误,避免这些错误最直接的方法就是不覆盖equals。至于什么时候不覆盖equals方法,主要有下面三种: 1:类的每个实例本质上是唯一的。 对于代码活动实体而不是值的类,如Thread,Object提供的equals实现就是这些类的行为 2: 阅读全文
posted @ 2017-04-18 11:27 哀&RT 阅读(431) 评论(0) 推荐(0) 编辑