我有以下课程:
public final class ClassMap {
public static final Class HELLO = HelloActivity.class;
}
我希望能够访问HelloActivity.class
知道字符串"HELLO"
。我尝试过以下方法:
Field classField = ClassMap.class.getField("HELLO");
但是返回Field
个对象。如何获取Class
对象?
谢谢!
答案 0 :(得分:2)
现在您有Field
对象代表该字段,请询问该值,即致电classField.get(Object obj)
。
由于您的字段为static
,因此obj
参数将被忽略,您应该只提供null
值。 Javadoc这么说:
如果基础字段是静态字段,则忽略
obj
参数;它可能是空的。
所以,这样做:
Field classField = ClassMap.class.getField("HELLO");
Object value = classField.get(null);