0
int text01=2012;
String entrance= "text01";

我怎样才能int value(2012)通过字符串'入口'获得'text01'?

4

5 回答 5

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

于 2012-08-09T03:52:07.960 回答
2

整数变量text01text01存储在字符串变量中的值是两个不同的东西。

不可能像这样获取变量的值,因为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);
于 2012-08-09T04:03:45.953 回答
0

我想你可能想要的是这样的: public Map values = new HashMap(); values.add("text01", 2012);

System.out.println(values.get("text01"));

于 2012-08-09T03:52:31.263 回答
0

int text01=2012;</p>

字符串入口=“text01”;

2012 和 test01 是两个不同的值,具有不同的引用。

于 2012-08-09T04:08:44.393 回答
0

您可以为此使用 apache commons org.apache.commons.beanutils.PropertyUtils 类。

int text01 = 2012;
String entrance = "text01";

只需使用:如果您的类对象是 Test test = new Test();

Object value = PropertyUtils.getProperty(test, entrance);
于 2012-08-09T05:23:09.807 回答