Java 我想我知道Enum的一切,但这是如何工作的呢
我想我知道Enum的一切,但这是如何工作的呢 (感谢您提供代码Java 我想我知道Enum的一切,但这是如何工作的呢,java,enums,Java,Enums,我想我知道Enum的一切,但这是如何工作的呢 (感谢您提供代码 /** * Message Type * * @author Fumihiko Shiroyama (fu.shiroyama@gmail.com) */ public enum MessageType { NORMAL(1 << 7), IMAGE(1 << 8); private int flag; MessageType(int flag) { thi
/**
* Message Type
*
* @author Fumihiko Shiroyama (fu.shiroyama@gmail.com)
*/
public enum MessageType {
NORMAL(1 << 7), IMAGE(1 << 8);
private int flag;
MessageType(int flag) {
this.flag = flag;
}
public int getFlag() {
return flag;
}
}
/**
*消息类型
*
*@作者白山文彦(傅。shiroyama@gmail.com)
*/
公共枚举消息类型{
正常(1在这里工作?它工作是因为MessageType在编译代码时,每个字段(正常和图像)都需要一个常量整数
一旦编译,这个NORMAL(1它就会工作,因为MessageType在编译代码时,每个字段(NORMAL和IMAGE)都需要一个常量整数
编译之后,这个NORMAL(1名为MessageType的枚举类型定义了一个构造函数
MessageType(int flag) {
this.flag = flag;
}
对于每个带有传递值标志的枚举常量(正常,图像),在创建常量时传递:
NORMAL(1名为MessageType的枚举类型定义构造函数
MessageType(int flag) {
this.flag = flag;
}
对于每个带有传递值标志的枚举常量(正常,图像),在创建常量时传递:
正常(1)它是按位左移(
是按位右移(不是在发布的代码中)。我知道按位移位是如何工作的,但不是这样。它的目的是什么它在int
中设置一位(每个消息类型都有不同的一位)。大概是为了创建一个位掩码。的标志能否正常(11这是一个按位左移(
是一个按位右移(而不是在发布的代码中)。我知道按位移位是如何工作的,但不是这样的。它在int
中设置一个位的目的是什么(每个消息类型为不同的设置一个位)。大概是为了创建位掩码。的标志是否可以正常(11