关于list contains方法

来源:6-1 学生选课---判断 List 中课程是否存在

toCurrent

2016-03-24 22:41

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

写回答 关注

3回答

  • SephirothLT
    2016-06-04 11:54:24

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

  • didi1234
    2016-04-07 11:09:43

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

  • 卷毛卷毛卷
    2016-03-25 13:21:13

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

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

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

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题