沒有學術根據的東西,請斟酌使用 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