int text01=2012;
String entrance= "text01";
我怎样才能int value(2012)
通过字符串'入口'获得'text01'?
如果你知道类是什么,你可以使用反射:
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
。
整数变量text01
和text01
存储在字符串变量中的值是两个不同的东西。
不可能像这样获取变量的值,因为int变量text01
和存储在string变量中的值text01
彼此无关。
更新:
如果有人正在寻找一种简单的方法,使用 map 是一个不错的选择。只需将变量名称存储为键,将它们的值存储为键值
Map<String, Integer> m = new HashMap<String, Integer>();
int text01=2012;
String entrance= "text01";
m.put(entrance, text01);
获得价值
m.get(entrance);
我想你可能想要的是这样的:
public Map values = new HashMap();
values.add("text01", 2012);
System.out.println(values.get("text01"));
int text01=2012;</p>
字符串入口=“text01”;
2012 和 test01 是两个不同的值,具有不同的引用。
您可以为此使用 apache commons org.apache.commons.beanutils.PropertyUtils 类。
int text01 = 2012;
String entrance = "text01";
只需使用:如果您的类对象是 Test test = new Test();
Object value = PropertyUtils.getProperty(test, entrance);