hash

在Hashtable类中得到key的hash值后会进行如下运算:

hash & 0x7FFFFFFF

 原因是得到的hash值可能是个负数,而0x7FFFFFFF表示int类型的最大值,0x7FFFFFFF的二进制表示如下:

0111 1111 1111 1111 1111 1111 1111 1111

 首位表示符号位,0表示正整数,这样和hash值进行‘与’操作时得到一个正整数。

猜你喜欢

转载自arthur2014.iteye.com/blog/2395516