Java 如何创建Equals方法
我需要帮助创建一个equals方法。Java 如何创建Equals方法,java,jgrasp,Java,Jgrasp,我需要帮助创建一个equals方法。 方法是:布尔等于(僵尸其他) 该说明特别指出:接受另一个僵尸对象作为参数,如果该僵尸与另一个僵尸具有相同的名称、感染程度、武器和大脑,则返回true 我不明白如何将僵尸分离成单独的部分与实例变量进行比较,然后如何比较所有部分。在您的情况下,这将是equals()的正确实现 @Override public boolean equals(Object obj) { if (obj instanceof Zombie){
方法是:布尔等于(僵尸其他)
该说明特别指出:接受另一个僵尸对象作为参数,如果该僵尸与另一个僵尸具有相同的名称、感染程度、武器和大脑,则返回true
我不明白如何将僵尸分离成单独的部分与实例变量进行比较,然后如何比较所有部分。在您的情况下,这将是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;
}
}
@JessNicole27,希望这能解决你的问题,但有一部分,她想让我们也比较一下大脑,它是一个整数。jGrasp说我不能尊重这一点,那么我该怎么做呢?参考更新后的帖子,增加了输入为int的大脑平等条件。它成功了,非常感谢!请注意,如果重写equals,还必须重写hashCode!(根据equals()相等的两个对象必须返回相同的哈希代码)