是否可以检索引用同名字符串的值?

时间:2011-11-23 18:35:11

标签: java

我现在正在做一些辅助项目,并且想知道是否可以从仅引用共享相同名称的String的变量中检索值。

i.e.

int x,y,z;

String sa [] = {"x","y","z"};

//then loop through sa, and get the values associated with each name and store them into a different
//container.

4 个答案:

答案 0 :(得分:3)

如果它们是实例或静态变量,可以使用反射来获取字段 -​​ 但使用Map<String, Integer>通常会更好。

如果您可以告诉我们更多关于您在侧面项目中尝试实现的内容的更多信息,那么通常如果您想动态地将密钥与值相关联,则应使用地图。例如:

Map<String, Integer> map = new Map<String, Integer>();

map.put("x", 10);
map.put("y", 20);
map.put("z", 30);

Integer z = map.get("z"); // z is now 30...

答案 1 :(得分:2)

是的,可以通过Reflection API:http://docs.oracle.com/javase/tutorial/reflect/

答案 2 :(得分:1)

您是否可以阅读a具有"a"字符串的局部变量?否。

但如果abc为字段,您可以使用reflection获取其值。

答案 3 :(得分:0)

类似:

int x = 4;
y = GetVariable("x");
System.out.println(y);

输出:     4

不,不幸的是,并非如此。 Java不存储它的变量名。

也许您可以举例说明您想要做些什么,看看是否有更好的解决方案。