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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 木易在他乡 中级黑马   /  2014-8-17 22:54  /  1603 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

老是搞不清楚,特别是如果不重写equals的话,它本来是怎么个比较法?

6 个回复

倒序浏览
可以看下源码,,Object中的equals内部还是用了 == 去比较.
回复 使用道具 举报
简单通俗说就是:equals值相等,==地址相同
回复 使用道具 举报


回复 使用道具 举报
一、Java/android常见经典问题总结【持续更新...】
http://bbs.itheima.com/thread-119571-1-1.html
里面就有,问题还是满全的~可以研究下。

点评

这个好强大! 收藏了。  发表于 2014-8-18 15:02
回复 使用道具 举报 1 0
hike_2008 发表于 2014-8-17 23:03
一、Java/android常见经典问题总结【持续更新...】
http://bbs.itheima.com/thread-119571-1-1.html
里面就 ...

按里面说的,
equals方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。例如,对于下面的代码:
    String a=new String("heima");
    String b=new String("heima");
这时,==就是false;equals就是true了;

但是,按照沙发:可以看下源码,,Object中的equals内部还是用了 == 去比较.这就矛盾了哈,看了源码,确实是没有复写的话,equals就是用==的,如何破???
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马