java - 安卓。将字符串转换为枚举
问题描述
我使用改造 Gson。我从服务器收到以下响应:
class Data {
@SerializedName("color")
private String color;
@SerializedName("name")
String name;
.....
}
从示例中可以看出,颜色是一个字符串。但是,我不想每次都在代码中进行字符串比较。我想使用枚举。您能否告诉我,在接收到来自服务器的响应时,是否可以将字符串转换为枚举,以便于使用。
解决方案
例子:
enum Color {
RED(1), GREEN(2), BLUE(3), YELLOW(4);
private final int id;
Color (int id) {
this.id = id;
}
}
颜色到字符串:
String string = color.toString();
字符串到颜色:
Color color = Color.valueOf(string);
^^ 使用它将字符串转换回颜色。
如果它不起作用,则颜色可能已以不同方式转换为字符串。在这种情况下,让服务器发送 color.toString(); 而不是颜色。
推荐阅读
- azure - 表存储分区键可以更新吗?
- reactjs - React 在测试时不会重新渲染状态变化
- c - “错误:在 Mac 上配置 NetCDF 时隐式声明库函数 'exit' with type”
- ios - 在“Stripe”集成时,类型“FundsVC”不符合 Swift 中的协议“STPAddCardViewControllerDelegate”
- docker - Dockerfile 和 Jenkinsfile - COPY 存储库
- button - 如何:SwiftUI 按钮 + CustomStyle + ContextMenu?
- java - jaxb2 版本 2 不允许使用 StaleFile 元素
- c# - Blazor 更新组件 foreach 循环内的 UI
- jenkins - Jenkins - 安全矩阵中的作业/读取权限
- sql - 当我投射 varchar date sql 时不显示零