标签:
1. Object的equals方法和String的equals方法区别
Object的equals方法---------源码如下:
两个对象的地址进行比计较--------比较引用是否相同。即便两个对象的各个属性值都相同,这两个对象也不相同。
String的equals方法----源码如下:
进行内容的比较,如果两个对象的内容相同,则相同(示例如下)。
说明:跟String一样重写equals方法的类还有,Double,Integer,Float...
2. 是否重写
如果想要新建类对象的内容相同就判定两个对象相同,那就重写equals方法,否则不用重写。
3. 重写规则
<1> 对称性:如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是“true”。
<2> 反射性:x.equals(x)必须返回是“true”。
<3> 类推性:如果x.equals(y)返回是“true”,而且y.equals(z)返回是“true”,那么z.equals(x)也应该返回是“true”。
标签:
原文地址:http://my.oschina.net/u/1989867/blog/526378