私の課題は、メソッド equals() をオーバーライドすることです。と を使用する際にいくつか懸念事項がStack12<E> that = (Stack12<E>)o;
ありo instanceof Stack12
ます。特にforループでの使用方法は、私にthat
は少し正しくないと感じています。
このクラスを他のオブジェクトと比較する別の方法はありますか? または、私の比較方法は十分に堅牢ですか?
public boolean equals(java.lang.Object o){
if(o == this) return true;
if(o == null || !(o instanceof Stack12)){
return false;
}
Stack12<E> that = (Stack12<E>)o;
if(this.size != that.size || this.capacity != that.capacity ){
return false;
}
for(int i = 0; i < this.size; i++){
if( that.stack[i] != this.stack[i] ){
return false;
}
}
return true;
}