Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建Equals方法_Java_Jgrasp - Fatal编程技术网

Java 如何创建Equals方法

Java 如何创建Equals方法,java,jgrasp,Java,Jgrasp,我需要帮助创建一个equals方法。 方法是:布尔等于(僵尸其他) 该说明特别指出:接受另一个僵尸对象作为参数,如果该僵尸与另一个僵尸具有相同的名称、感染程度、武器和大脑,则返回true 我不明白如何将僵尸分离成单独的部分与实例变量进行比较,然后如何比较所有部分。在您的情况下,这将是equals()的正确实现 @Override public boolean equals(Object obj) { if (obj instanceof Zombie){

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

方法是:布尔等于(僵尸其他)
该说明特别指出:接受另一个僵尸对象作为参数,如果该僵尸与另一个僵尸具有相同的名称、感染程度、武器和大脑,则返回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()相等的两个对象必须返回相同的哈希代码)