作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] 要如何以reference的方式remove list的 …
时间Tue Jul 14 00:49:41 2009
没有学术根据的东西,请斟酌使用 or 开骂...
import java.util.ArrayList;
public class Foo {
public int hashCode(){
System.out.println(super.hashCode());
return super.hashCode();
}
public boolean equals(Object obj){
Foo other = (Foo) obj;
return other.hashCode()==this.hashCode();
}
public static void main(String args[]){
ArrayList<Foo> fooList = new ArrayList<Foo>();
Foo f1 = new Foo();
Foo f2 = new Foo();
fooList.add(f1);
fooList.add(f2);
fooList.remove(f2);
}
}
※ 引述《StubbornLin (Victor)》之铭言:
: 我想从一个List中删除一个物件
: 像这样
: class Foo {
: ...
: }
: public void del(Foo f) {
: list.remove(f);
: }
: 但我却发现它不像我预期一样的删掉list里的f
: 我看文件上说他会用equals比较来决定要不要删
: 而equals和==的差别又在
: equals比的是内容
: 而==比的是reference
: 那麽现在我想删掉list中的某个object by reference时
: 该怎麽做?
: 我试着overrideFoo的equals成
: return this == o;
: 可是还是一样,应该怎麽做才对? 谢谢
--
如果我遇到的是识货的人,我也会好好跟对方谈买卖!!
贪得无餍的笨蛋门外汉,你也懂点分寸行吗!!
《料理仙姬》2-p.100
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.70.214.175