为了账号安全,请及时绑定邮箱和手机立即绑定

求救!!!!

https://img1.sycdn.imooc.com//5ca0a9650001779c15420788.jpghttps://img1.sycdn.imooc.com//5ca0a9820001879915390793.jpg

equals不是地址吗?为什么地址不同结果却是相同的,==的结果为什么是不同的

正在回答

3 回答

没重写过的equals是比较引用对象的地址,重写之后是比较对象的属性值是否一致

0 回复 有任何疑惑可以回复我~

equals就是比较值,==是比较地址吧  小白勿扰

0 回复 有任何疑惑可以回复我~

  对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;

如果作用于引用类型的变量,则比较的是所指向的对象的地址

  对于equals方法,注意:equals方法不能作用于基本数据类型的变量

如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;

 诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。


3 回复 有任何疑惑可以回复我~
#1

黎大大158117 提问者

就是说上面第一张图相等是因为first和two的对象是同一个,而第二张图不相等是因为first和two的地址不同,是这样吗?还有equals的重写是什么意思?
2019-03-31 回复 有任何疑惑可以回复我~
#2

宝慕林7116398 回复 黎大大158117 提问者

你equals重写过没啊?没有重写第一组应该也是不等的啊
2019-04-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求救!!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信