黑马程序员技术交流社区

标题: 关于Object类中的equals()方法的问题 [打印本页]

作者: 苏乞儿    时间: 2014-9-15 00:22
标题: 关于Object类中的equals()方法的问题
对于自定义类的对象在调用equals()方法时,他到底比较的是什么呢?比如类Person p1=new Person();
Person p2=new Person();比较:p1.equals(p2)比较的到底是什么?求解。。。
作者: cs8630323    时间: 2014-9-15 00:37
就是  ==,下载个源码看看就知道了
作者: 苏乞儿    时间: 2014-9-15 00:43
cs8630323 发表于 2014-9-15 00:37
就是  ==,下载个源码看看就知道了

Object类中equals方法:
public boolean equals(Object obj){
    return (this==obj);
}
又看到了“==”。。。。。这个也是比较的两个类引用的哈希值吗?
作者: 戏言丶    时间: 2014-9-15 02:14
如果object中的equals()方法没有被重写,则是比较地址值,由于在String中该方法已被重写,故而比较的是内容
作者: 苏乞儿    时间: 2014-9-18 23:36
戏言丶 发表于 2014-9-15 02:14
如果object中的equals()方法没有被重写,则是比较地址值,由于在String中该方法已被重写,故而比较的是内容 ...

哦,原来是这样啊,谢谢!:D




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2