繁体   English   中英

两个整数相等的方法

[英]Equals Method with two integers

我想重写equals方法。 但是在我的课上是两个整数。 我想问你equalsMethode是否正确。

像这样?

谢谢

编辑1:我的问题是,我想删除一个类型字段的对象

除了几个语法错误之外,实现也不是错误的。 但是,不需要转换为字符串:

return other.getRow() == getRow() && other.getColumn() == getColumn();

其他要点:

  1. if (this == obj)检查是多余的。

  2. if (getClass() != obj.getClass())检查,取决于您是否打算对Field进行子类化(我注意到它没有声明为final )。

最后但并非最不重要的一点是,在重写equals() ,您还应该重写hashCode() 请参阅在Java中重写equals和hashCode时应考虑哪些问题? 进行讨论。

这是您的equals方法:

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    Field other = (Field) obj;
    if (column != other.column)
        return false;
    if (row != other.row)
        return false;
    return true;
}

这是您的hashCode方法:

@Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + column;
        result = prime * result + row;
        return result;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM