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

关于list contains方法

既然 contains方法的原理是遍历每一个元素equals(传入的值),equals比较的不就是两个对象的内容不管内存的起始位置相不相同。为何还需要重写 equals 方法 。比较的是 两者的内容 为何运行后 返回的 是false值。在重写的 方法中  this.name.equals.((Course) obj);  这里的 equals 是重写的还是没重写的?

正在回答

3 回答

equals比较的是两个对象是否相等,类似于(==)的作用,但是很多时候需要比较的是里面的内容而非地址,所以父类不能满足要求,所以要进行重写。

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

equals()方法的本意是比较两个对象的引用是否相同,也就是比较两个对象的地址,不是两个对象的内容。

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

个人看法,有不对的地方请指出:

1.没有重写equals之前,比较的是两个对象的地址,重写之后比较的是内容。

2.重写方法中用的是重写之后的equals

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

举报

0/150
提交
取消

关于list contains方法

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