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

Course 重写equals

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

正在回答

3 回答

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

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

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

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

精慕门7595355

equals方法是定义在Object基类中的方法 而所有的类,默认都是继承Objcet类的,所以都可以调用equals方法
2019-07-13 回复 有任何疑惑可以回复我~

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

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

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

qq_早点_1 提问者

谢谢你
2019-06-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409787    人
  • 解答问题       4340    个

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

进入课程

Course 重写equals

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