List集合用contains方法判断一个元素是否存在,在学习的时候一直很疑惑,contains方法可以用来给ArrayList等List集合去重,虽然很好用,但是内部的原理是什么呢,查了相关资料,才理清楚思路。
因为arraylist.contains(object),用到的是Object及其子类对象的equals方法,而不是ArrayList类的equals方法!(一开始一直以为是arraylist的equals方法)。。。所以在要添加对象到arraylist中保证不重复的方法是复写对象的equals方法。
如果理解有误请指正呀。。。。。 |
|