将值设置为枚举 - Java
我正在尝试在我的java应用程序中设置要枚举的值....但我不能那样做。
我做错了吗???
public enum RPCPacketDataType {
PT_UNKNOWN(2),
PT_JSON(4),
PT_BINARY(5)
};
它给了我这个错误:构造函数RPCPacket.RPCPacketDataType(int)未定义。
我正在尝试在我的java应用程序中设置要枚举的值....但我不能那样做。
我做错了吗???
public enum RPCPacketDataType {
PT_UNKNOWN(2),
PT_JSON(4),
PT_BINARY(5)
};
它给了我这个错误:构造函数RPCPacket.RPCPacketDataType(int)未定义。
public enum RPCPacketDataType
{
PT_UNKNOWN(2),
PT_JSON(4),
PT_BINARY(5);
RPCPacketDataType (int i)
{
this.type = i;
}
private int type;
public int getNumericType()
{
return type;
}
}
您还可以在枚举上定义方法,就像在“普通”类中一样。
System.out.println(RPCPacketDataType.PT_JSON.getNumericType() // => 4
您应该创建一个接受参数的构造函数。还要添加一个将保存传递值的字段。int
int
public enum RPCPacketDataType {
PT_UNKNOWN(2),
PT_JSON(4),
PT_BINARY(5);
private int mValue;
RPCPacketDataType(int value) {
mValue = value;
}
}