arrayList があり、contains(Thing o) メソッドを使用してこの 2 つのオブジェクトの等価性をチェックしたいのですが、Thing クラスの equals() メソッドをオーバーライドしますが、contains メソッドを呼び出すと機能しません! これは私のモノのクラスです:
public class Thing{
private int id;
//getter setter
@Override
public boolean equals(Object o) {
if(!(o instanceof Thing))
return false;
if(id == ((Thing)o).getId())
return true;
return false;
}
}
hashCode() メソッドもオーバーライドする必要がありますか? はいの場合、それをオーバーライドする方法は?