使用反射访问静态最终变量
2022-09-03 04:26:43
我有一个带有静态变量的Java类
package com.mytest
public class MyClass{
public static final TextClass TEXT_CLASS = new TextClass();
}
如何使用反射访问对象?TEXT_CLASS
(我有字符串.我需要访问该对象。"com.mytest.MyClass.TEXT_CLASS"
我有一个带有静态变量的Java类
package com.mytest
public class MyClass{
public static final TextClass TEXT_CLASS = new TextClass();
}
如何使用反射访问对象?TEXT_CLASS
(我有字符串.我需要访问该对象。"com.mytest.MyClass.TEXT_CLASS"
访问静态字段的方式与普通字段完全相同,只是您不需要将任何参数传递给方法(您可以传递 null)。Field.get()
试试这个:
Object getFieldValue(String path) throws Exception {
int lastDot = path.lastIndexOf(".");
String className = path.substring(0, lastDot);
String fieldName = path.substring(lastDot + 1);
Class myClass = Class.forName(className);
Field myField = myClass.getDeclaredField(fieldName);
return myField.get(null);
}