我正在研究网络程序,我的线程池中有这个代码
unsigned char type = pdata[0];
Packet *packet = m_packetFactory->createInstance(type);
CreateInstance采用枚举类型来根据枚举变量创建数据包;
客户端正在使用java并序列化第一个字节
final byte LOGIN_REQUEST = 1;
.
.
bBuffer.put(LOGIN_REQUEST);
如何在枚举类型中获取此内容,以便将其传递给createInstance方法..提前感谢..
答案 0 :(得分:3)
如果您确定数据有效,只需将其强制转换为枚举类型:
enum MyEnum{
EXAMPLE_1 = 0,
...
};
char type = 0;
MyEnum etype = static_cast<MyEnum>(type);