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

int value(2012)文字列「entrance」から「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文字列変数に格納された値は、2 つの異なるものです。

int変数とstring変数text01に格納された値は互いに何の関係もないため、このような変数の値を取得することはできません。text01

アップデート:

誰かがこれに対する簡単なアプローチを探している場合は、マップを使用することをお勧めします。変数名をキーとして、その値をキー値として保存するだけです

    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

int text01=2012;</p>

文字列の入り口 = "text01";

2012 と test01 は、異なる参照を持つ 2 つの異なる値です。

于 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 に答える
0

あなたが望むかもしれないのは次のようなものだと思います: public Map values = new HashMap(); values.add("text01", 2012);

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

于 2012-08-09T03:52:31.263 に答える