对于上面的&0xFF有非常大的困惑,做完&0xFF运算之后不还是本身么,为什么还有进行&0xFF运算? 后查资料 当byte 有可能变为Int类型时候,Jvm会对byte进行补位 将原来的8位变成32位。如果是负数则会自动补1,如 -127 二进制表示 10000001会变成 111..1110000001;那么则需要对高位进行与运算使其变为0.
Hadoop WritableComparator 源码学习
最新推荐文章于 2019-01-06 18:01:36 发布
对于上面的&0xFF有非常大的困惑,做完&0xFF运算之后不还是本身么,为什么还有进行&0xFF运算? 后查资料 当byte 有可能变为Int类型时候,Jvm会对byte进行补位 将原来的8位变成32位。如果是负数则会自动补1,如 -127 二进制表示 10000001会变成 111..1110000001;那么则需要对高位进行与运算使其变为0.