在Java中哈希

use*_*041 3 java hash

我有一个Long和一个String.我想创建这两个对象的哈希.意思是,我想要一些函数来获取任意数量的对象并返回一个哈希值.这样的功能会退出吗?

像这样的东西:


public int getHash(Object... objects)
{
     //somehow returns a hash of all these objects
}

Mar*_*ers 11

看看Arrays.hashCode(Object[]).

它不接受varargs,但如果您愿意,可以使用自己的varargs库函数包装它:

public static int computeHashCode(Object... objects) {
   return Arrays.hashCode(objects);
}
Run Code Online (Sandbox Code Playgroud)


cod*_*ark 6

Apache Commons HashCodeBuilder有一个基于反射的调用,类似于你想要的.

public int hashCode() {
    return HashCodeBuilder.reflectionHashCode(this);
}
Run Code Online (Sandbox Code Playgroud)