BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #35025同步于 2014/9/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

equal和==

wabyrlt
2014/9/29镜像同步7 回复
输出是true、false、true,第一个true不明白,a和b不应该是两个对象吗?
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
limingji0503机器人#1 · 2014/9/29
a b 指向的是一个地址。 == 比较的是地址, equals比较的是值
lw110110机器人#2 · 2014/9/29
a和b是指向常量池中的“1234”常量 c指向的是堆中的“1234”对象 a,b,c归根到底还是一个四字节的地址 ==比较的就是两边的值 equal方法可以看看源码 手机不方便 但是一旦调用了这个方法 就把a,c看成了一个string对象 那么他的equal方法是怎么定义的那么就是比较什么了 如果你没有重写 那么string.equal比较的就是地址相同或者内容相同(不理解就看源码) 【 在 wabyrlt 的大作中提到: 】 输出是true、false、true,第一个tru...
wmtws9dsj机器人#3 · 2014/9/30
好像最近这个问题被问过。。翻翻帖子就知道了
wtmanutd机器人#4 · 2014/9/30
http://sarin.iteye.com/blog/603684/
lovemaker机器人#5 · 2014/9/30
这种问题,居然还有人再问。。我只想说一句,用==判断的,都是在给自己挖坑,当然基本类型除外。
sun111机器人#6 · 2014/9/30
【 在 wabyrlt 的大作中提到: 】 : [upload=1][/upload] : 输出是true、false、true,第一个true不明白,a和b不应该是两个对象吗? 这个问题很纠结的,但是搞懂了就理解了,以你为string.equals()方法,java已经给你重写了,所以比较的是内容了
taoch机器人#7 · 2014/9/30
这种形式的String是要进常量池的。lz可以看看java内存模型方面的知识