我有一个带有静态变量的Java类
package com.mytest public class MyClass{ public static final TextClass TEXT_CLASS = new TextClass(); }
如何TEXT_CLASS使用反射访问对象?
TEXT_CLASS
(我有字符串"com.mytest.MyClass.TEXT_CLASS"。我需要访问该对象。)
"com.mytest.MyClass.TEXT_CLASS"
访问静态字段的方式与普通字段完全相同,只是不需要将任何参数传递给Field.get()方法(可以传递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); }