为Java类创建相等的方法来比较double或int值

时间:2016-09-11 13:03:56

标签: java equals

我的作业是创建一个类的相等方法,该方法在Java中覆盖Object类的相等方法。我的编码如下,但讲师评论说:“双倍不能与==,!=进行比较,因为存储不准确。”那么在这种情况下如何相应地编辑代码呢?非常感谢你。 class GameSettings {

import theano as th
import theano.tensor as tt
A = tt.tensor3('A')  # A.shape = (N, H, D)
B = tt.tensor3('B')  # B.shape = (K, H, D)
A_batched = A.reshape((N, H, M, D / M))
B_batched = B.reshape((K, H, M, D / M))
E_batched, _ = th.scan(
    lambda a, b: (a[:, :, None, :] * b[:, :, :, None]).sum(1),
    sequences=[A_batched.T, B_batched.T]
)
E = E_batched.reshape((D, K, N)).T  # E.shape = (N, K, D)

1 个答案:

答案 0 :(得分:2)

正如你的讲师所说,比较double并不是简单地使用equals运算符。例如,您可以尝试1不等于1.000。

相反,我们经常使用两个值之间的delta来比较double。如果delta相对较小,那么这些值将相等。

commit