课程
/后端开发
/Java
/Java入门第三季
重写了 Course类的 equals 方法后 为什么SetTest中没做任何修改 结果却发生了改变?
2019-06-06
源自:Java入门第三季 6-1
正在回答
因为调用了contains()方法,而该方法的原理就是调用equals()方法,也就是调用contains()方法就相当于调用了equals()方法
为什么一个自定义的类会有默认equals方法呢?是每个类都有吗
精慕门7595355
首先要明白List中contains方法实现原理是,遍历每个List中的元素(Course),调用这些元素(Course)的equals方法和入参的对象进行比较,如果有一个返回真则这个contains方法返回真。
那么你只需要在Course中重写equals方法即可,因为contains这个方法原理就是调用每一个元素(Course)的equals方法,所以在SetTest中不用做修改
qq_早点_1 提问者
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
1 回答重写equals
1 回答为什么在Course中重新定义equals方法?
2 回答重写equals方法
2 回答重写equals()问题
1 回答重写equals过程