【问题标题】:How to Create an Equals Method [duplicate]如何创建 Equals 方法
【发布时间】:2013-11-11 06:50:15
【问题描述】:

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

方法是: boolean equals(Zombie other)
描述中明确指出:“接受另一个 Zombie 对象作为参数,如果僵尸与另一个 Zombie 具有相同的名称和相同的感染程度、武器和大脑,则返回 true。 "

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

【问题讨论】:

    标签: java jgrasp


    【解决方案1】:

    在您的情况下,这将是 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()相等的两个对象必须返回相同的hashCode)
    猜你喜欢
    • 2010-09-06
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多