我有一个声明为保存信息的类。假设它有这些字段
class data {
int a;
int b;
int c;
}
我想像这样访问这些字段:
String [] fields = {"a", "b", "c"};
data da = new data();
for (int i = 0; i < 3; i++)
if (da.fields[i] < 10)
dosomething();
Java 中有什么方法可以做到这一点吗?谷歌搜索,我得到了一些关于“反射”的结果,但我从未真正听说过,而且我认为这不是我想要的。有没有办法在 Java 中做到这一点?如果没有,是否有任何语言支持这种事情(出于好奇)?
最佳答案
反射可能是您所需要的。但您更需要的是认真审视您的设计。您应该尽可能避免反射。
如果您仍然对此感兴趣,请查看 Java Reflection: Fields .
Field field = aClass.getField("someField");
是您将如何获取该名称的字段。您想要的更详细的示例。
Class aClass = MyObject.class
Field field = aClass.getField("someField");
MyObject objectInstance = new MyObject();
Object value = field.get(objectInstance);
field.set(objetInstance, value);
关于Java 字符串值作为语句的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14391505/