HashMap的roundUpToPowerOf2(int number)源码解读

HashMap的roundUpToPowerOf2(int number)源码解读
这个方法是将你希望的数组长度输入,经过计算返回一个数组长度。
如果超过了最大值,即2的30此幂,将设置成最大值,如果这个数的二进制是零的话返回1,即输入0返回1.
如果这个数的二进制是1000(未知0的个数)形式,即2的整数次幂,那么将返回此数,否则返回此数变成二进制只取最高位为一剩下全部变成零的数并且乘以二的数。
即如果此数是在某连续的2的整数次幂之间,返回此数的右侧的2的整数次幂,如果正好处在2的整数次幂上,返回此2的整数次幂。
比如9 在2的3次幂跟2的4此幂之间,返回2的4次幂。
比如8 正好是2的3次幂就返回8.