簡體   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