黑马程序员技术交流社区

标题: Java中equals和==的区别 [打印本页]

作者: 木易在他乡    时间: 2014-8-17 22:54
标题: Java中equals和==的区别
老是搞不清楚,特别是如果不重写equals的话,它本来是怎么个比较法?
作者: 执笔梦    时间: 2014-8-17 22:59
可以看下源码,,Object中的equals内部还是用了 == 去比较.
作者: 朱冰18189949658    时间: 2014-8-17 23:00
简单通俗说就是:equals值相等,==地址相同
作者: hejinzhong    时间: 2014-8-17 23:02



作者: hike_2008    时间: 2014-8-17 23:03
一、Java/android常见经典问题总结【持续更新...】
http://bbs.itheima.com/thread-119571-1-1.html
里面就有,问题还是满全的~可以研究下。

作者: 木易在他乡    时间: 2014-8-18 11:26
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就是用==的,如何破???




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