這是我的Coor類的equals類的實現,它只包含2個x和y。這是實施這種方法的適當方式嗎?在java中實現equals方法
public boolean equals(Object obj) {
if (obj == null || obj.getClass() != this.getClass()) {
return false;
}
Coor temp = (Coor) obj;
if (temp.x == this.x && temp.y == this.y) {
return true;
} else {
return false;
}
}
是的。如果所有的字段都是相同的,並且這是您「平等」的意思,那麼您已經正確地制定了方法。如果你正在比較繼承自當前('this')類的東西,那麼這將不起作用,但如果它們是可行的,它將起作用。 – bdares
不要忘記重寫散列碼函數,如果你希望在集合中使用它(即使在屏幕後面) –