Java~通过套接字连接发送枚举

时间:2012-02-28 13:04:25

标签: java sockets asynchronous tcp enums

通过套接字发送枚举值的最佳方法是什么?有没有办法将枚举值转换为int,反之亦然? 像:

Enum values {
    value1,
    value2
}

int value = (int)value1;
And...
values value2 = (value) value;

通过互联网发送此信息会非常好! 谢谢大家!

BAS

1 个答案:

答案 0 :(得分:6)

要么对int进行编组:

int ordinal = values.value1.ordinal()

//unmarshalling
values.values[ordinal];

String

String name = values.value1.name();

//unmarshalling
values.valueOf(name);

前者节省了一些空间(32位而不是变长字符串)但是更难维护,例如重新排列enum值会导致ordinal()向后兼容性中断。另一方面,ordinal()允许您重命名enum值...