int text01=2012;
String entrance= "text01";
如何通过字符串'入口'获取'{1}}'text01'?
答案 0 :(得分:4)
如果您知道该课程是什么,您可以使用反射:
public class Test
{
int text01 = 2012;
}
在其他地方,您可以通过以下方式获得该字段的价值:
String entrance = "text01";
Test t = new Test();
Field f = t.getClass().getDeclaredField(entrance);
System.out.println("value = "+f.getInt(t));
// you can even change the value:
t.text01 = 2013;
System.out.println("value = "+f.getInt(t));
这将打印出2012
,然后打印2013
。
答案 1 :(得分:2)
整数变量text01
和存储在字符串变量中的值text01
是两回事。
无法获取此类变量的值,因为 int 变量text01
和存储在字符串变量{{}中的值都是1}}彼此无关。
<强>更新强>
如果有人正在寻找一种简单的方法,使用地图是一个不错的选择。只需将变量名称存储为键,将其值存储为键值
text01
获取值
Map<String, Integer> m = new HashMap<String, Integer>();
int text01=2012;
String entrance= "text01";
m.put(entrance, text01);
答案 2 :(得分:0)
我认为你可能想要的是这样的:
public Map values = new HashMap();
values.add("text01", 2012);
System.out.println(values.get("text01"));
答案 3 :(得分:0)
int text01 = 2012;
String entrance =“text01”;
2012和test01是两个具有不同引用的不同值。
答案 4 :(得分:0)
您可以使用apache commons org.apache.commons.beanutils.PropertyUtils类。
int text01 = 2012;
String entrance = "text01";
使用: 如果你的类对象是Test test = new Test();
Object value = PropertyUtils.getProperty(test, entrance);