我对Java中的分裂行为提出了一个小问题。
我有一个equals()
函数在我的所有数组中移动并调用我创建的equals1()
。
现在我创建了一个新的equals()
函数,时间测试要好得多。
当我使用equals1()
函数时,我的时间测试需要3000毫秒,当我使用public boolean equals1(Fraction f) {
return this.denominator == f.denominator
&& this.numerator == f.numerator;
}
public boolean equals(Fraction f) {
if ((double) this.numerator / (double) this.denominator
== (double) f.numerator / (double) f.denominator) {
return true;
}
}
函数时,我的时间测试需要500毫秒。
这是百分之百的差异。
我希望有人可以告诉我这个。
由于
select b.* from alldx b
答案 0 :(得分:1)
这是正在执行的操作数量的问题。
在equals
方法中你做了很多事情:
在equals1
方法中,你做的更少: