java - 为什么要在这里使用按位 AND?

标签 java partitioning bitwise-operators

我正在阅读 hadoop 代码并在分区程序中找到这一行。

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

他们为什么使用按位与?

最佳答案

去除符号位。在 hashCode 为负数的情况下。 就像 Math.abs(key.hashCode())

关于java - 为什么要在这里使用按位 AND?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4904445/

相关文章:

java - 聊天应用程序中的 Firebase 实时数据库无法按时间检索消息

java - 在元素集列表中查找元素的属性

java - ExecutorService 的 invokeAll() 会同时运行任务,或者完全取决于硬件(运行执行程序服务的地方)和网络

Java String 具有代码保留顺序和基于哈希的分区

c++ - 在数字的右边使用左移运算符

用于按位存储的python库?

java - 对 .split() 在 Java 中的工作方式感到困惑

algorithm - Haskell 中的平衡分区

java - 按位与运算符的使用

algorithm - 找出超平面下点数的快速算法