我有一个自定义的 equals 来检查我的名为 Pair 的对象的相等性。
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;
}
如果对象相同,我已经检查了打印我的对象,并且它们确实是相同的。
1.0 1 2.0 0
1.0 1 2.0 0
我从一个不同的文件中调用我的自定义等于,称为测试。
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.)");
还有我的多项式类,它是一个数组列表,里面有 Pair 对象。
class Polynominal implements PolynominalInterface {
ArrayList<Pair> terms = new ArrayList<Pair>();
我在互联网上查看,发现我不能在我的 Equals 方法中使用 ==,但我使用的是 Intergers 和 Doubles,所以 equals() 不起作用。
谁能指出我正确的方向?