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

讲解是否有误?

为什么很多的文章说equals方法用于比较两个独立对象的内容是否相同。

而你却说比较对象引用是否指向.......

正在回答

2 回答

很多文章说的equals方法是被覆盖了的方法,而object基类下的equals方法就是比较引用的内存地址。如java.io.file,java.util.Date,java.lang.string,包装类(Integer,Double等),都覆盖了equals方法,功能是如果两个对象的类型一致,并且内容一致,则返回true,而不是之前的比较内存地址了。

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

课程中的讲解是没有问题的,说equals比较对象的引用是没有问题的,因为比较两个独立对象的内容的时候也是要先引用这个对象再进行比较的

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

fsnh

为了更好地理解,我输出了这行代码 System.out.println(this == obj);测试结果说明输出的也是false,但是为什么这里if (this == obj) return true; 根据视频讲义这里是判断两个引用的地址是否相同(两个引用的值是否相同),视频的意思很明显是说两个引用的地址是相同的,既然相同,那我测试 System.out.println(this == obj);这行代码的时候应该是输出true才对啊,为什么会输出false呢???不懂不懂
2020-05-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530714    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

讲解是否有误?

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