这是我为 Coor 类实现的 equals 类,它只包含 2 个整数 x 和 y。这是实现此方法的正确方法吗?
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;
}
}
最佳答案
您可以再添加一项检查自反相等性(等于 self):
public boolean equals(Object obj) {
// Reflexive equality: did I get passed myself?
if(this == obj){
return true;
}
if (obj == null || obj.getClass() != this.getClass()) {
return false;
}
Coor temp = (Coor) obj;
return temp.x == this.x && temp.y == this.y;
}
关于java - 在java中实现equals方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7655396/