A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 苏乞儿 中级黑马   /  2014-9-15 00:22  /  1124 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对于自定义类的对象在调用equals()方法时,他到底比较的是什么呢?比如类Person p1=new Person();
Person p2=new Person();比较:p1.equals(p2)比较的到底是什么?求解。。。

4 个回复

倒序浏览
就是  ==,下载个源码看看就知道了
回复 使用道具 举报
cs8630323 发表于 2014-9-15 00:37
就是  ==,下载个源码看看就知道了

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

哦,原来是这样啊,谢谢!:D
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马