/**
* このリストと引数のオブジェクトの値が等しいかどうかを判定する。 すなわち引数のオブジェクトがこのクラスまたはこのクラスの派生クラスの
* インスタンスで、同数のセルを持ち、各セルが順番に同じ値を持っているか どうかを返す。
*
* @param obj
* 比較対象のオブジェクト
* @return 値が等しい場合は true、そうでない場合は false
*/
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj == this) {
return true;
}
if (!(obj instanceof StringList)) {
return false;
}
StringList workList = (StringList) obj;
if (this.getSize() != workList.getSize()) {
return false;
} else if (this.getSize() == 0) {
return true;
}
StringCell s = this.getFirstCell();
StringCell o = workList.getFirstCell();
if (!s.equals(o)) {
return false;
}
while (true) {
s = s.getNext();
o = o.getNext();
if (s == null) {
break;
}
if (!s.equals(o)) {
return false;
}
}
return true; // QQQ 仮実装
}
重写equals方法
最新推荐文章于 2023-12-13 14:46:43 发布