具有泛型类型的哈希码

时间:2017-05-12 23:23:37

标签: java guava apache-commons guava-testlib

寻找一种方法来轻松计算任意类型的哈希值。鉴于以下课程:

class Foo<T> {
    ...
    T value;
}

我已使用equals覆盖Objects.deepEquals方法来比较value字段。是否有一种简单的方法可以对hashCode进行相同的操作? guava或apache commons中的一些实用方法(我已经将它们用于其他事情)?

不幸的是,当值是数组时,Objects.hash(field1, ... , value)不起作用。

我知道有一个选择是

Arrays.deepHashCode(new Object[]{ field1, ... , value });

但是为它创建一个新数组感觉不对,而不是仅仅循环它

1 个答案:

答案 0 :(得分:1)