2012-06-21 3 views

Antwort

11

Ich schlage vor, dass Sie ein Map<String, Integer> verwenden stattdessen:

die Karte erstellen, indem Sie

Map<String, Integer> values = new HashMap<String, Integer>(); 

ändern Dann

int temp = 10; 

zu

values.put("temp", 10); 

und die v Zugriff mit

int tempVal = values.get(temp_name); 
+4

+1 Dies ist eine bessere Lösung für das Problem, und es sollte keinen Grund geben, warum Sie diesen Ansatz nicht verwenden können. –

+3

@ErickRobertson Ich stimme zu. Reflexion ist eine Lösung für ein "nicht alltägliches" Bedürfnis, während ein Neuling typischerweise eine Karte oder ein assoziatives Array benötigt. –

10

Machen Sie die Variable zu einer Membervariablen und verwenden Sie Reflektion.

Sie können den Wert nicht anhand des Namens einer Variablen abrufen, es sei denn, es handelt sich um eine Membervariable einer Klasse. Dann können Sie das Paket java.lang.reflect verwenden, um den Wert abzurufen.

Verwandte Themen