一个java的初始化问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 02:48:17
static final int MAXIMUM_CAPACITY = 1 << 30; 最大初始化大小

类中 的 <<是什么意思,这个定义又是什么意思,不是很懂,说的越详细越好
puderty 你的意思是说 java的位运算?

就是将1转化为二进制,然后将该值向左移动30位,后面补0,得到的结果初始化给MAXIMUM_CAPACITY

这个是有符号位移运算符 即将以的十六进制码向左移30位
原来是 (int 是32位的)
0000 0000 0000 0000 0000 0000 0000 0001
移位以后
0100 0000 0000 0000 0000 0000 0000 0000
即为2的30次幂

1向左移30位,就是1乘以2的30次方,应该是2^30

<<是位运算符号,同理还存在>>这种位运算符号
就像楼上所说的一样。

远远小于