Pair というオブジェクトの等価性をチェックするためのカスタム equals があります。
class Pair implements Comparable <Parr> {
double coef;
int power;
Pair(double a, int b) {
coef = a;
power = b;
}
私のカスタム equals メソッドは (クラス ペアにあります):
@Override
public boolean equals(Object o) {
if (!(o instanceof Pair))
return false;
Pair that = (Pair) o;
return that.coef == this.coef && that.power == this.power;
}
オブジェクトが同じかどうかをprint my objectで確認しましたが、実際には同じです。
1.0 1 2.0 0
1.0 1 2.0 0
Test という別のファイルからカスタム equals を呼び出します。
class Test {
public static void main(String[] args) {
orig = pol1.differentiate().integrate();
System.out.print(orig);
if (orig.equals(pol1))
System.out.println(" (is equal.)");
else
System.out.println(" (is not equal.)");
そして、ペアのオブジェクトを内部に持つ配列リストである私のクラスPolynomial。
class Polynominal implements PolynominalInterface {
ArrayList<Pair> terms = new ArrayList<Pair>();
インターネットで調べたところ、Equals メソッドで == を使用できないことがわかりましたが、Intergers と Doubles を使用しているため、equals() は機能しません。
誰かが私を正しい方向に向けることができますか?