我不知道这是什么意思 “1 < < 2”:什么是Java(1 << 2)这个表达式?
public static final int MODIFY_METADATA = 1 << 2; // modify object
请帮帮我!
我不知道这是什么意思 “1 < < 2”:什么是Java(1 << 2)这个表达式?
public static final int MODIFY_METADATA = 1 << 2; // modify object
请帮帮我!
如果你想知道为什么会用使用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;
显示每个值位掩码。
http://en.wikipedia.org/wiki/Bitwise_operation#Bit_shifts – Mysticial 2012-03-23 01:41:04
类似的问题已经在SO上提出并回答,例如[here](http://stackoverflow.com/q/9207007/960195)。 – 2012-03-23 01:47:38