java.util.List remove方法的疑惑

我用一个后台服务返回
[code="java"][/code]
Hibernate下
List list = boParty.getListByParent(new Integer(0));
其中list里面肯定包含了一个PoParty id为10
我现在想 boolean bok = list.remove(那个肯定包含的PoParty对象).
结果bok返回的是false;
我真的有点不解了, remove(Object o)这个方法到底行不行啊
[code="java"][/code]

List中什么对象,equals方法重写过吗,

从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。如果列表不包含元素,则不更改列表。更确切地讲,移除满足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引 i 的元素(如果存在这样的元素)。如果此列表已包含指定元素(或者此列表由于调用而发生更改),则返回 true。

要使用equals来查找相同对象的,如果没有重写,比较的是地址,当然查不出来了

你没有重写equals方法,那么对象比较的就是是否这两对象为同一对象,与用==比较两个对象原理相同,比较是的hashcode地址,所以查不出来,你可以像ls说的重写equals方法,注意equals方法重写的格式是
[code="java"]
public boolean equals(Object obj){}
[/code]
那个object不能换成别的

集合应用中注意的事项:

重写 equals

重写 hashCode