为什么在这里使用按位和?

2022-09-04 20:15:38

我正在阅读hadoop代码,并在分区器中找到了这一行。

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

为什么他们使用按位 AND?


答案 1

删除符号位。在哈希码为负数的情况下。它像Math.abs(key.hashCode())


答案 2

推荐