Хеширование на Java - PullRequest
       0

Хеширование на Java

3 голосов
/ 02 марта 2011

У меня есть Long и String. Я хочу создать хэш обоих этих объектов. Это значит, что мне нужна функция, которая будет принимать произвольное количество объектов и возвращать мне одно хеш-значение. Выходит ли такая функция?

Примерно так:


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

Ответы [ 2 ]

11 голосов
/ 02 марта 2011

Взгляните на Arrays.hashCode(Object[]).

Он не принимает varargs, но вы можете обернуть его своей собственной библиотечной функцией varargs, если хотите:

public static int computeHashCode(Object... objects) {
   return Arrays.hashCode(objects);
}
6 голосов
/ 02 марта 2011

Apache Commons HashCodeBuilder имеет основанный на отражении вызов, аналогичный тому, что вы хотите.

public int hashCode() {
    return HashCodeBuilder.reflectionHashCode(this);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...