public enum Role {
MANAGER, ordinal()=0
ENTREPRENEUR, ordinal()=1
INVESTOR; ordinal()=2
Role() {
mask = (1 << ordinal());
}
private final int mask;
public final int getMask() {
return mask;
}
ordinal();获取枚举中name的序列
上述类中 MANAGER=0;
ENTREPRENEUR =1;
1 << ordinal();则为2进制左移
00000001 00000010 00000100
1 2 4 。。。。