2012-06-21 17 views

risposta

11

suggerisco di utilizzare un Map<String, Integer> invece:

creare la mappa facendo

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

Quindi modificare

int temp = 10; 

a

values.put("temp", 10); 

e accedere alla v alue using

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

+1 Questa è una soluzione migliore per il problema e non ci dovrebbero essere motivi per cui non si può adottare questo approccio. –

+3

@ErickRobertson Sono d'accordo. La riflessione è una soluzione a un bisogno 'non ordinario', mentre un novizio ha in genere bisogno di una mappa o di un array associativo. –

10

Imposta la variabile come variabile membro e utilizza la riflessione.

Non è possibile ottenere il valore per nome di una variabile a meno che non sia una variabile membro di una classe. Quindi è possibile utilizzare il pacchetto java.lang.reflect per recuperare il valore.

Problemi correlati