私が書いている疎行列クラスの equals() メソッドに取り組んでいます (学校のプロジェクトの一部)。のメソッドをオーバーライドするにthat
は、(パラメーターに使用した名前equals
) がジェネリック型でなければならないため、クラスに固有のメソッドや他のメンバーを使用できないという問題に常に直面しています。 . さらに、SparseMatrix の型パラメーターのいくつかのメソッドを使用して、等価性を実際に比較できるようにする必要があります。その障害を回避するためにどのように書くことができますか?Object
Objects
equals()
私は夜にそれを行う方法をいくつか考えていますが、どれも機能していないようです: パラメータをキャストしてみequals()
ました。
これは私がこれまでに持っているものですが、私が言ったように、私はそれを機能させることができません.
public boolean equals(Object that) {
if (that instanceof SparseMatrix<?>) {
if (this.xSize != that.xSize ||
this.ySize != that.ySize)
return false;
/* make some more comparisons that depend on specific
* members of my matrix class, etc...*/
}
return false;
}
これについてSOを検索してみましたが、同じことを尋ねているように見えるものをいくつか見つけることができましたが、実際にその方法を説明する答えを見つけることができませんでした.