如果是判断集合是否包含某个对象元素,即contians方法的底层就调用对象equals的方法进行比较的,,这点你应该知道;;
其实集合在删除一个对象元素时是先判断是否有该元素,,它将该元素和自己的所有元素用equals都比较了一下,,才判断的,
如果有就删除成功,返回true,,反之返回false..对于基本数据类型的集合,,不需要重写equals方法,,因为他们能根据ASCII码表进行
比较,直接返回的就是比较后的结果,,,不过对于更复杂的对象元素,,,如Person,它包含name和age属性,,所以不能按照默认的equals
进行判断,我们必须重写equals方法,,,return this.name.equals(p.name) && this.age == p.age;
这句就是判断两个Person对象的,,如果name和age都相同就返回true,,反之返回false |