qq_早点_1
2019-06-06 18:36
重写了 Course类的 equals 方法后 为什么SetTest中没做任何修改 结果却发生了改变?
因为调用了contains()方法,而该方法的原理就是调用equals()方法,也就是调用contains()方法就相当于调用了equals()方法
为什么一个自定义的类会有默认equals方法呢?是每个类都有吗
首先要明白List中contains方法实现原理是,遍历每个List中的元素(Course),调用这些元素(Course)的equals方法和入参的对象进行比较,如果有一个返回真则这个contains方法返回真。
那么你只需要在Course中重写equals方法即可,因为contains这个方法原理就是调用每一个元素(Course)的equals方法,所以在SetTest中不用做修改
Java入门第三季
409792 学习 · 4340 问题
相似问题