java如何将接收到的数字自动转换为枚举

什么配置或者框架可以做到?自动,自动转换举例,response返回的json串中有key如下:{"status":1},我在本地定义好了枚举如下:enumStatus{S... 什么配置或者框架可以做到?自动,自动转换
举例,response返回的json串中有key如下:{"status": 1},我在本地定义好了枚举如下:
enum Status {
SUCCESS(1, "成功"),

FAIL(2, "失败");

}
我想把1自动转换成SUCCESS,怎么办?
展开
 我来答
你干嘛哈嗨哟LT
2018-09-07
知道答主
回答量:14
采纳率:0%
帮助的人:5.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];
超级JY111
2017-12-16 · TA获得超过4033个赞
知道小有建树答主
回答量:1.3万
采纳率:8%
帮助的人:1028万
展开全部
如果只需枚举名称可以使用:toString()

返回枚举常量的名称,它包含在声明中。可以重写此方法,虽然一般来说没有必要。当存在更加“程序员友好的”字符串形式时,应该使用枚举类型重写此方法。
如果需要枚举具体值可以使用:
for (EnumTest e : EnumTest.values()) {

System.out.println(e.toString());
}
追问
啥玩意?我想要传个1,自动解析成配置好的枚举中的值,你跟我讲toString()???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式