【发布时间】:2013-11-11 06:50:15
【问题描述】:
我需要帮助来创建一个 equals 方法。
方法是: boolean equals(Zombie other)
描述中明确指出:“接受另一个 Zombie 对象作为参数,如果僵尸与另一个 Zombie 具有相同的名称和相同的感染程度、武器和大脑,则返回 true。 "
我不明白如何将 Zombie 其他部分分开以与实例变量进行比较,然后我将如何比较所有部分。
【问题讨论】:
我需要帮助来创建一个 equals 方法。
方法是: boolean equals(Zombie other)
描述中明确指出:“接受另一个 Zombie 对象作为参数,如果僵尸与另一个 Zombie 具有相同的名称和相同的感染程度、武器和大脑,则返回 true。 "
我不明白如何将 Zombie 其他部分分开以与实例变量进行比较,然后我将如何比较所有部分。
【问题讨论】:
在您的情况下,这将是 equals() 的正确实现。
@Override
public boolean equals(Object obj) {
if (obj instanceof Zombie){
Zombie zombiObj= (Zombie) obj;
if(zombiObj.getName().equals(this.getName()) &&
zombiObj.getInfection().equals(this.getInfection())&&
zombiObj.getWeapon().equals(this.getWeapon()) &&
zombiObj.getBrain()== this.getBrain() ) {
return true;
}else{
return false;
}
} else{
return false;
}
}
【讨论】: