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

equals和==的问题

看视频看的蒙蔽了,哪个是比较地址,哪个是比较值?还有equals重写后又是比较什么

正在回答

4 回答

Dog dog = new Dog 就是一次对象的引用  没重写之前equals比较对象的引用是否指向同一块内存

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

慕瓜2589535 提问者

非常感谢!
2016-12-20 回复 有任何疑惑可以回复我~

已经知道了 谢谢大家

0 回复 有任何疑惑可以回复我~
  1. 这个问题要看回Object类,( 所有java 对象的父类 , 里面自带了equals 方法, 就是用的 ==, 比较连个对象的地址), 没有明确写出继承关系的,都是默认继承了Object , 没重写equals 就用了Object 的equals(==)。

  2. 重写后要根据写的具体内容来看。eg:Student(id ,name), 每个学生只有唯一一个id , 所以他的equals方法可以只比较他的id,id 相同就可以认为是同一个学生了

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

equals在没重写前和==一样是比较地址的  重写之后就是比较值了

(注:==可以判断两个基本数据类型的数据值是否相同 如果判断的是两个引用的值是否相同 比较的就是内存地址了)

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

举报

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

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

进入课程

equals和==的问题

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