我使用ContentResolver查询从Android中的数据库中获取一些数据。这不是问题。
该方法返回整数的字符串表示,
INT TYPE_MAIN = 2
我想将其转换为字符串Type_Main
String a = someMagicalMethod(TYPE_MAIN);
System.out.println(a);
这样输出就是
TYPE_MAIN
我无法使用Integer.toString(TYPE_MAIN)
,因为这会返回2
我怎样才能做到这一点?
答案 0 :(得分:3)
在Java中,您无法通过使用其名称来检查变量的值,该信息在运行时不可用,甚至不能通过反射。使用Map<String, Integer>
解决您的问题:
Map<String, Integer> map = new HashMap<>();
map.put("TYPE_MAIN", 2);
//...
String a = map.get("TYPE_MAIN").toString(); //someMagicalMethod(TYPE_MAIN);
System.out.println(a); //prints 2
答案 1 :(得分:0)
使它成为枚举,然后你可以使用String a = TYPE_MAIN.getName();