【发布时间】:2011-08-27 08:26:12
【问题描述】:
Java 将 long 类型转换为 Enum 的类型时遇到问题。 我正在使用此代码:
public enum RPCPacketDataType {
PT_JSON(1),
PT_BINARY(2);
private int value;
RPCPacketDataType(int i){
this.value=i;
}
public int getNumericType(){
return value;
}
}
static RPCPacketDataType tmpPacket_packetType;
我需要做这样的事情:
case 2:
{
long intVal = Long.parseLong(thisPart);
if(intVal == 0){
isBad = true; break;
}
tmpPacket_packetType=intVal;
break;
}
thisPart 只是一个字符串:String thisPart;
错误提示:Type mismatch: cannot convert from long to RPCCommucatorDefines.RPCPacketDataType
有什么建议可以解决这个问题吗?
【问题讨论】:
-
您不能将原语转换为 Java 中的枚举类型。枚举的成员是对象,并且与任何支持从原始类型自动装箱的类型无关。简而言之,您需要编写一个为您进行转换的方法。
-
这是我不知道该怎么做的事情......
标签: java android types casting