如何创建一个等于方法

时间:2013-11-11 06:50:15

标签: java jgrasp

我需要帮助创建一个equals方法。

方法是:布尔等于(Zombie其他)
描述具体说明:“接受另一个Zombie对象作为参数,如果僵尸与其他Zombie具有相同的名称和相同的感染程度,武器和大脑,则返回true “。

我不明白如何将Zombie其他部分分开来与实例变量进行比较然后如何比较所有部分。

1 个答案:

答案 0 :(得分:3)

在您的情况下,这将是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;
        } 
    }