使用Java反射来获取类变量

时间:2017-03-28 20:39:00

标签: java android

我有以下课程:

public final class ClassMap {

    public static final Class HELLO = HelloActivity.class;

}

我希望能够访问HelloActivity.class知道字符串"HELLO"。我尝试过以下方法:

Field classField = ClassMap.class.getField("HELLO");

但是返回Field个对象。如何获取Class对象?

谢谢!

1 个答案:

答案 0 :(得分:2)

现在您有Field对象代表该字段,请询问该值,即致电classField.get(Object obj)

由于您的字段为static,因此obj参数将被忽略,您应该只提供null值。 Javadoc这么说:

  

如果基础字段是静态字段,则忽略obj参数;它可能是空的。

所以,这样做:

Field classField = ClassMap.class.getField("HELLO");
Object value = classField.get(null);