我有Long
和String
。我想创建这两个对象的哈希。意思是,我想要一些函数来获取任意数量的对象并返回一个哈希值。这样的功能会退出吗?
这样的事情:
public int getHash(Object... objects)
{
//somehow returns a hash of all these objects
}
答案 0 :(得分:11)
看看Arrays.hashCode(Object[])
。
它不接受varargs,但如果您愿意,可以使用自己的varargs库函数进行包装:
public static int computeHashCode(Object... objects) {
return Arrays.hashCode(objects);
}
答案 1 :(得分:6)
Apache Commons HashCodeBuilder有一个基于反射的调用,类似于你想要的。
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}