关于分裂行动JAVA的小解释

时间:2015-11-05 13:45:31

标签: java divide

我对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

1 个答案:

答案 0 :(得分:1)

这是正在执行的操作数量的问题。

equals方法中你做了很多事情:

  1. 将变量转换为双倍×4
  2. Division×2
  3. ==比较×1
  4. 评估if语句×1
  5. return×1
  6. equals1方法中,你做的更少:

    1. ==比较×2
    2. &安培;&安培;比较×1
    3. return×1