int text01=2012;
String entrance= "text01";
int value(2012)
文字列「entrance」から「text01」を取得するにはどうすればよいですか?
int text01=2012;
String entrance= "text01";
int value(2012)
文字列「entrance」から「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
文字列変数に格納された値は、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);
int text01=2012;</p>
文字列の入り口 = "text01";
2012 と test01 は、異なる参照を持つ 2 つの異なる値です。
これには、apache commons org.apache.commons.beanutils.PropertyUtils クラスを使用できます。
int text01 = 2012;
String entrance = "text01";
使用するだけです : クラスオブジェクトが Test test = new Test(); の場合
Object value = PropertyUtils.getProperty(test, entrance);
あなたが望むかもしれないのは次のようなものだと思います:
public Map values = new HashMap();
values.add("text01", 2012);
System.out.println(values.get("text01"));