bazzinga
bazzinga

Reputation: 219

Accessing the value of a variable by its name as string in Java

I have a string containing the variable name. I want to get the value of that variable.

int temp = 10;
String temp_name = "temp";

Is it possible to access the value 10 by using temp_name?

Upvotes: 6

Views: 443

Answers (2)

aioobe
aioobe

Reputation: 420951

I suggest that you use a Map<String, Integer> instead:

Create the map by doing

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

Then change

int temp = 10;

to

values.put("temp", 10);

and access the value using

int tempVal = values.get(temp_name);

Upvotes: 11

Erick Robertson
Erick Robertson

Reputation: 33068

Make the variable a member variable and use reflection.

You cannot get the value by name of a variable unless it's a member variable of a class. Then you can use the java.lang.reflect package to retrieve the value.

Upvotes: 10

Related Questions