Gau*_*rav 5 java hashcode bitwise-operators gethashcode effective-java
我有两个相关的问题:
按位运算符>>>表示我们正在将二进制数转移多个位置,同时在最高位填充0.但是,为什么以下操作产生相同的数字:5 >>> 32产生5和-5 >>> 32产生-5.因为如果上面的描述是正确的,那么这两个操作都会产生0作为最终结果.
在上面的继续中,根据Effective Java book,我们应该在计算哈希码时使用(int)(f ^(f >>> 32))(如果字段很长)(如果字段很长).为什么我们这样做,解释是什么
| 归档时间: |
|
| 查看次数: |
2732 次 |
| 最近记录: |