黑马程序员技术交流社区

标题: 【面试题】==和equals()的区别? [打印本页]

作者: wx348602984    时间: 2015-4-18 23:38
标题: 【面试题】==和equals()的区别?
==和equals()的区别?
                ==:
                        可以比较基本类型,也可以比较引用类型。
                        比较基本类型,比较的是值是否相同。
                        比较引用类型,比较的是地址值是否相同。
                equals:
                        只能比较引用类型。
                        默认情况下,比较的是地址值是否相同。
                        如果想比较内容,请自己重写Object类的equals()方法。
作者: YQliang    时间: 2015-4-18 23:52
受益匪浅
作者: Chans_宇    时间: 2015-4-19 00:09
总结得挺好的
作者: yxnheima    时间: 2015-4-19 08:54
总结的挺好的。
作者: 海带    时间: 2015-4-19 08:57
总结不错
作者: fenglinluomu    时间: 2015-4-19 09:15
总结得不错,加油.:)
作者: xlunaer    时间: 2015-4-19 09:48
总结的比我的详细,谢谢楼主分享
作者: 上善若水_Wx    时间: 2015-4-19 09:53
受益匪浅
作者: mono    时间: 2015-4-19 11:30
赞一个、
作者: 一袭蓝10    时间: 2015-4-19 13:22
什么面试题?
作者: junshan    时间: 2015-4-19 13:30
难道不能用自己的话总结吗,非要这么抽象吗,抽象好难记啊
作者: wx348602984    时间: 2015-4-19 14:14
junshan 发表于 2015-4-19 13:30
难道不能用自己的话总结吗,非要这么抽象吗,抽象好难记啊

仅供参考,可以提炼成自己的
作者: wx348602984    时间: 2015-4-19 14:16
一袭蓝10 发表于 2015-4-19 13:22
什么面试题?

找工作的时候问到比较多的问题
作者: wx348602984    时间: 2015-4-19 14:17
mono 发表于 2015-4-19 11:30
赞一个、

:handshake  :handshake
作者: wx348602984    时间: 2015-4-19 14:18
上善若水_Wx 发表于 2015-4-19 09:53
受益匪浅

谢谢:#:lol
作者: wx348602984    时间: 2015-4-19 14:19
xlunaer 发表于 2015-4-19 09:48
总结的比我的详细,谢谢楼主分享

不客气;P:loveliness:
作者: Wilsoncyf    时间: 2015-4-19 14:38
学习学习
作者: 大爱卓生    时间: 2015-4-19 14:46
说的非常好啊…
作者: junshan    时间: 2015-4-19 14:57
wx348602984 发表于 2015-4-19 14:14
仅供参考,可以提炼成自己的

默认情况下,equals不能比较内容吗?比如两个String对象的内容相同,但是地址不同,就不equals吗
作者: Troy-Fu    时间: 2015-5-10 22:13
总结的不错
作者: richaled    时间: 2015-5-11 08:07
不错,学习了
作者: 纯情花心男    时间: 2015-5-14 18:24
总结的非常不错,这两个都好常用的谢谢分享
作者: zhangjnia    时间: 2015-5-14 18:32
总结的不错,学习了
作者: Cat    时间: 2015-5-14 18:56
学习一下~
作者: 守株人    时间: 2015-5-14 19:35
谢谢分享,学习了
作者: yinping    时间: 2015-5-14 19:39
看完我也有点懂了,这几天学String类我也是醉了
作者: 晚风吹舟行    时间: 2015-5-14 19:53
总结的很到位
作者: 开到荼靡    时间: 2015-5-14 19:54
学习学习!
作者: zoubing0405    时间: 2015-5-14 21:00
很好学习一下
作者: 柒仴、看雲佉    时间: 2015-5-14 21:52
虽然看不懂但是感觉好腻害的样子
作者: q8893616    时间: 2015-5-14 21:54
这是面试题吗?
作者: zhubingg    时间: 2015-5-14 21:59
嗯嗯 ,又多学个知识点
作者: 魔蝎座    时间: 2015-5-14 22:11
写的很详细,顶一个!
作者: 刘冬    时间: 2015-5-18 15:09
学习了!
作者: yas丶    时间: 2015-5-18 15:30
总结的挺好
作者: 晚风吹舟行    时间: 2015-5-18 19:22
总结的不错,学习了
作者: shentan000    时间: 2015-5-18 21:23
至此一个~~
作者: Oh.Ba    时间: 2015-5-18 21:49
不错,总结的好
作者: mars_b0ZZ0    时间: 2015-5-18 22:58
==比较的是2个对象的地址,而equals比较的是2个对象的内容
作者: 黯然残影    时间: 2015-5-18 23:14
总结的不错,学习学习
作者: 懒儿想想    时间: 2015-5-18 23:21
谢分享   
作者: Baytree    时间: 2015-5-19 00:06
这个概念不要死记啊。
首先,有两种类型。一种叫基础类型(int,double,float...),一种是引用类型。
这两者根本区别是在栈上面存的是什么。基本类型存的是值,而引用类型存的是引用。
而==,就是单纯的在栈上面的比较。栈上面的值相等就是想等。

但是,两个引用不等,和逻辑上不等是两码是,比如有两个朋友都叫张三,我们喊叫张三的过来,我们认为张三是没有区别的,无论你是黑人张三还是白人张三。而判断引用逻辑上等不等价,这就是equals要做的事情。
作者: 小王泽哥    时间: 2015-5-19 08:42
这什么面试题啊
作者: hsx500    时间: 2015-5-19 14:21
受用了!!
作者: zhangjnia    时间: 2015-5-19 21:47
不错,学习了
作者: godrick007    时间: 2015-5-19 22:14
楼主辛苦了
作者: sss18310878521    时间: 2015-5-19 22:20
当用String两个对象进行比较时,由于它本省已经重写了equals方法,所以比较的应该是内容吧
作者: LoveMyself    时间: 2015-5-20 12:20
总结的挺不错的
作者: leeshaodong    时间: 2015-5-20 22:10
绝壁值得总结。NO more?
作者: 谢晓明    时间: 2015-5-20 22:18
==是直接比较栈中的内容是否相同,equals方法是比较堆中的内容是否相同
作者: 18463730277    时间: 2015-5-20 22:20
equals默认是比较地址值,
作者: 王连涛    时间: 2015-5-20 22:25
说的不错赞一个!!!
作者: 星辉祝愿    时间: 2015-5-20 23:21
总结的不错,赞一个
作者: 你们敬爱的人    时间: 2015-5-21 00:06
好吧..前几天刚学
作者: guoyangpeng    时间: 2015-5-21 06:25
很好,学习了!
作者: 姬光普    时间: 2015-5-21 09:27
总结的不错
作者: 枕寒流    时间: 2015-5-21 09:28
有些类已经重写了equals方法。。。。
作者: 张海旭    时间: 2015-5-21 23:20
学习了:victory:
作者: 笨小点儿    时间: 2015-5-22 00:09
谢谢分享!
作者: 陈公佐    时间: 2015-5-22 00:15

总结的比我的详细
作者: ddddk    时间: 2015-5-22 00:40
前几天刚好碰到这个问题 学习了
作者: 黄冬    时间: 2015-5-22 01:42
不错。。
作者: qian0217wei    时间: 2015-5-22 06:53
嗯,总结的很好,我来学习一下!
作者: 仅此一抹心醉    时间: 2015-5-22 22:02
感谢楼主,学习了  以前就一致搞不清楚这个区别
作者: 追忆似水年华    时间: 2015-5-22 22:15
不错,学习了。
作者: 痕迹丶    时间: 2015-5-22 22:27
说的好啊  不过我还是有点疑惑  楼主可以举个例子吗?




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