可能重复:
通过 Java 中的反射访问私有继承字段
您好,我遇到了 java 反射的 init 值问题。
我有简单的课
public class A extends B {
private String name;
}
public class B {
private String superName;
}
而且我有简单的功能:
public void createRandom(Class<T> clazz , List<String> classFields){
try {
T object = clazz.newInstance();
for(String s : classFields){
clazz.getDeclaredField(s);
}
} catch(Exception e){
}
}
我的功能做其他事情,但我有问题,因为我有错误:
java.lang.NoSuchFieldException: superName
如何使用反射设置所有类字段以及超类中的字段?
我有所有的类字段(也是继承的)并且我正在使用函数field.set(Object obj, Object value)
但是这样我不能设置继承的类字段:/
我没有问题来获取我正在使用 Spring ReflectionUtils.doWithfield 的所有类字段。我将所有字段名称存储在 中List<String> classField
,所以我知道所有 clazz 字段也继承了。但我的问题是如何为所有 clazz 字段设置值。