通过名称获取变量

时间:2017-11-01 16:01:05

标签: java

如何通过提供包含该变量名称的String来访问变量值? 像这样:

onProgressChanged

它应该返回123
我知道我可以创建一个HashMap或者什么...... 但是我可以在没有几个代码的情况下尽快完成这项工作吗?

我需要创建一些具有类似数据的对象,所以我这样做了:
(我正在使用android)

int var1 = 123;
getVariableByName("var1");

如果您需要创建大量对象,那么创建一个巨大的HashMap是不明智的。应该有一种方法来优化...

2 个答案:

答案 0 :(得分:0)

你不能用Java中的局部变量做到这一点。局部变量是您在方法中定义的变量。名称不会在编译步骤中存在,并且在运行时不可用。

您可以通过Foo.class.getField或obj.getClass()反射查找字段.getField

答案 1 :(得分:0)

我解决了这个问题。我只需要创建一个字符串数组并列出它们!有许多工具可以使用数组!