Course 重写equals

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

qq_早点_1

2019-06-06 18:36

重写了 Course类的 equals 方法后   为什么SetTest中没做任何修改    结果却发生了改变?

写回答 关注

3回答

  • Pikachu2016
    2019-08-13 12:49:58

    因为调用了contains()方法,而该方法的原理就是调用equals()方法,也就是调用contains()方法就相当于调用了equals()方法

  • qq_慕设计308330
    2019-07-06 11:46:27

    为什么一个自定义的类会有默认equals方法呢?是每个类都有吗

    精慕门759...

    equals方法是定义在Object基类中的方法 而所有的类,默认都是继承Objcet类的,所以都可以调用equals方法

    2019-07-13 18:11:02

    共 1 条回复 >

  • Georgephy
    2019-06-17 15:04:07

    首先要明白List中contains方法实现原理是,遍历每个List中的元素(Course),调用这些元素(Course)的equals方法和入参的对象进行比较,如果有一个返回真则这个contains方法返回真。

    那么你只需要在Course中重写equals方法即可,因为contains这个方法原理就是调用每一个元素(Course)的equals方法,所以在SetTest中不用做修改

    qq_早点_...

    谢谢你

    2019-06-17 15:09:46

    共 1 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题