Зачем использовать побитовое И здесь? - PullRequest
13 голосов
/ 05 февраля 2011

Я читал код Hadoop и нашел эту строку в разделителе.

(key.hashCode() & Integer.MAX_VALUE) % numReduceTasks

Почему они используют побитовое И?

1 Ответ

18 голосов
/ 05 февраля 2011

Для удаления знакового бита.в случае, если хэш-код является отрицательным числом.это как Math.abs(key.hashCode())

...