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

标签 java sockets asynchronous tcp enums

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

Enum values {
    value1,
    value2
}

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

如果能通过互联网发送这个就太好了! 谢谢大家!

基础

最佳答案

编码为 int:

int ordinal = values.value1.ordinal()

//unmarshalling
values.values[ordinal];

字符串:

String name = values.value1.name();

//unmarshalling
values.valueOf(name);

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

关于Java ~ 通过套接字连接发送枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9482439/

相关文章:

jquery - Windows 应用程序是否可以与网页交互?

java - 如何确保实用静态方法的线程安全?

java - Spring 启动: What is causing this TransientDataAccessResourceException?

java - 如何通过 Maven 将额外的自定义类路径条目添加到 Spring Boot 运行中?

c - 通过套接字发送整数,同时避免违反严格的别名规则

python - 如何在c中实现Python socket.unwrap()?

c# - 在异步操作后立即调用 Task.Wait() 是否等同于同步运行相同的操作?

javascript - 如何从异步调用返回响应?

javascript - 如何从异步调用返回响应?

java - 与 FileNet 内容引擎交互的 Web 服务中的 JAAS 授权