Java中的这个表达式是什么(1 << 2)?

我不知道这意味着什么“1 << 2”:

public static final int MODIFY_METADATA = 1 << 2; // modify object 

请帮我!

Java运算符

按位操作

<<是左位移位运算符。

如果你想知道为什么会使用1 << 2而不是4是相同的值,那是因为你明确想要使用位掩码,例如

 public static final int FLAG0 = 1 << 0; public static final int FLAG1 = 1 << 1; public static final int MODIFY_METADATA = 1 << 2; 

显示每个值都在位掩码中。