只是从这里开始,这是家庭作业/实验室,我正在寻求建议。我正在开发一个很小的程序,它本质上是一个具有最小值/最大值约束的计数器,以及一种将值上推的方法,并将其回滚到零0的方法。因此,我为Counter类拥有的私有数据字段是:

private int minimum;
private int maximum;
private int currentValue;


我在这里遇到的麻烦是一种将我的Counter类与基于同一类的另一个理论对象进行比较的方法。在这种情况下,我们希望看到两个对象之间的数据字段相同。我已经研究了几种方法来做到这一点,包括使用反射和著名的EqualsBuilder,但是在实现每种方法时都遇到了麻烦。

这是他们给我的代码。

public boolean equals(Object otherObject)
{
    boolean result = true;
    if (otherObject instanceof Counter)
    {

    }
    return result;
}

最佳答案

假设equals方法在Counter类中,则它可以访问该类的所有私有成员,即使它们是该类的不同实例的成员也是如此。

public boolean equals(Object otherObject)
{
    if (otherObject instanceof Counter)
    {
        Counter ocounter = (Counter) otherObject;
        if (this.minimum != ocounter.minimum)
            return false;
        ...
    } else {
        return false;
    }
    return true;
}

09-30 14:17
查看更多