3

私はこのようなことをしようとしています:

int x_1 = 1;
int x_2 = 2;

String s1 = "x";
String s2 = "_1";

s1&はユーザーまたはループからの変数であり、次のようなことを行って正しい変数s2を呼び出せるようにしたいと考えています。int(s1+s2)

出来ますか?

4

4 に答える 4

8

多分あなたはこれを使うことができますMap

Map<String,Integer> map = new HashMap<>();
map.put("x_1",1);
map.put("x_2",2);
String s1 = "x";
String s2 = "_1";
map.get(s1+s2);
于 2012-09-26T02:53:34.190 に答える
1

したがって、基本的に、インスタンス内のフィールドを見つけることができる必要がありますObject

何かのようなもの...

Class clazz = obj.getClass();
Field field = clazz.getDeclaredField(name);

その後、 メソッドField.setInt(Object, int)Field.getInt(Object)メソッドを使用して値を取得できます。

The Reflection APIを読みたいと思うかもしれません

于 2012-09-26T02:53:33.933 に答える
0

リフレクションは複雑である必要はありません。beanutilsを見てください。それが機能するには、変数はローカル変数だけでなく、オブジェクトの一部である必要があります。PropertyUtilsのようなものがおそらく機能します。

于 2012-09-26T02:52:59.413 に答える
0

Hashtable<String,Integer>のような名前のペアを格納するために使用してみてください["x_1", 1]。その後、簡単に文字列を作成し、その値を取得して使用できます。

于 2012-09-26T02:53:36.790 に答える