這段equal改寫代碼是存在問題的,答案給出了問題的答案。但并不是很清楚自己的理解對不對。求指點public boolean equals(Object o) {
if (o == null) {
return false;
}
else if (o instanceof EmptyList) {
FListInteger f = (FListInteger) o;
return isEmpty(f);
}
else if (o instanceof Add) {
FListInteger f = (FListInteger) o;
if (size(this) == size(f)) {
for (int i = 0; i < size(this); i++) {
//-------------------------------------------
if (get(this, i) != get(f, i)) {
//-------------------------------------------
return false;
}
}
return true;
}
else {
return false;
}
}
else {
return false;
}
}橫線之間需改成if (FListInteger.get(this, i).equals(FListInteger.get(f2, i)))求問這里的問題是需要用類名調用get method嗎?而且當正在改寫equals的時候為什么還用equals做比較 這里可不可以用 ”==“感謝!
Java Override equals method 問題
慕的地6264312
2019-04-24 15:19:19
