![](/img/trans.png)
[英]implementing an equals() method to compare contents in two objects filled with integers in java
[英]Equals Method with two integers
我想重寫equals方法。 但是在我的課上是兩個整數。 我想問你equalsMethode是否正確。
像這樣?
謝謝
編輯1:我的問題是,我想刪除一個類型字段的對象
除了幾個語法錯誤之外,實現也不是錯誤的。 但是,不需要轉換為字符串:
return other.getRow() == getRow() && other.getColumn() == getColumn();
其他要點:
if (this == obj)
檢查是多余的。
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.