改变集合中对象属性,依然可以remove掉
valueNow opened this issue · 5 comments
valueNow commented
我demo试了一个,改变集合中对象的属性,然后再remove这个元素,是可以remove掉得啊,打印集合的size,减一了啊
lianyuchen commented
qiongtony commented
我用的Eclipse也可以remove掉,求解答
CodeJiang commented
重写了equals 和hashCode方法吗? hashset的内部实现用的是hashmap. hashmap判定是 通过 是否是同一个对象 && hashcode相等. 或者 equals方法相等.
tongyingrui commented
这个Person类应该是重写了hashCode方法的,比如最简单的,
@Override hashCode() { return age; }
这样在p3修改了age之后对于hashset来说就变成另一个元素了,当然remove不掉,再添加时也会认为是另一个元素所以size会变成4
Poney1 commented
remove 对象的地址,