在Hashtable类中得到key的hash值后会进行如下运算:
hash & 0x7FFFFFFF
原因是得到的hash值可能是个负数,而0x7FFFFFFF表示int类型的最大值,0x7FFFFFFF的二进制表示如下:
0111 1111 1111 1111 1111 1111 1111 1111
首位表示符号位,0表示正整数,这样和hash值进行‘与’操作时得到一个正整数。
在Hashtable类中得到key的hash值后会进行如下运算:
hash & 0x7FFFFFFF
原因是得到的hash值可能是个负数,而0x7FFFFFFF表示int类型的最大值,0x7FFFFFFF的二进制表示如下:
0111 1111 1111 1111 1111 1111 1111 1111
首位表示符号位,0表示正整数,这样和hash值进行‘与’操作时得到一个正整数。