java如何将接收到的数字自动转换为枚举
什么配置或者框架可以做到?自动,自动转换举例,response返回的json串中有key如下:{"status":1},我在本地定义好了枚举如下:enumStatus{S...
什么配置或者框架可以做到?自动,自动转换
举例,response返回的json串中有key如下:{"status": 1},我在本地定义好了枚举如下:
enum Status {
SUCCESS(1, "成功"),
FAIL(2, "失败");
}
我想把1自动转换成SUCCESS,怎么办? 展开
举例,response返回的json串中有key如下:{"status": 1},我在本地定义好了枚举如下:
enum Status {
SUCCESS(1, "成功"),
FAIL(2, "失败");
}
我想把1自动转换成SUCCESS,怎么办? 展开
2个回答
展开全部
方式一:写判断
public enum ORDER {
FIRST, SECOND;
public static ORDER getEnumOrder(int order) {
switch (order) {
case 1:
return FIRST;
case 2:
return SECOND;
default:
return null;
}
}
}
在使用的地方
ORDER first = ORDER.getEnumOrder(1);
方式二:字符串拼接
public enum ORDER {
ORDER_1, ORDER_2;
}
在使用的地方
ORDER first = ORDER.valueOf("ORDER_" + 1);
方式三:枚举数组
public enum ORDER {
FIRST, SECOND;
}
在使用的地方
int order = 1;
ORDER[] orders = ORDER.values();
ORDER first = orders[order - 1];
展开全部
如果只需枚举名称可以使用:toString()
返回枚举常量的名称,它包含在声明中。可以重写此方法,虽然一般来说没有必要。当存在更加“程序员友好的”字符串形式时,应该使用枚举类型重写此方法。
如果需要枚举具体值可以使用:
for (EnumTest e : EnumTest.values()) {
System.out.println(e.toString());
}
返回枚举常量的名称,它包含在声明中。可以重写此方法,虽然一般来说没有必要。当存在更加“程序员友好的”字符串形式时,应该使用枚举类型重写此方法。
如果需要枚举具体值可以使用:
for (EnumTest e : EnumTest.values()) {
System.out.println(e.toString());
}
追问
啥玩意?我想要传个1,自动解析成配置好的枚举中的值,你跟我讲toString()???
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询