Creator的getConstructorField方法增加对子类字段的支持
This commit is contained in:
@@ -145,6 +145,18 @@ public interface Creator<T> {
|
|||||||
try {
|
try {
|
||||||
Field field = clazz.getDeclaredField(names[i]);
|
Field field = clazz.getDeclaredField(names[i]);
|
||||||
se[i] = new SimpleEntry<>(field.getName(), field.getType());
|
se[i] = new SimpleEntry<>(field.getName(), field.getType());
|
||||||
|
} catch (NoSuchFieldException fe) {
|
||||||
|
Class cz = clazz;
|
||||||
|
Field field = null;
|
||||||
|
while ((cz = cz.getSuperclass()) != Object.class) {
|
||||||
|
try {
|
||||||
|
field = cz.getDeclaredField(names[i]);
|
||||||
|
break;
|
||||||
|
} catch (NoSuchFieldException nsfe) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (field == null) return null;
|
||||||
|
se[i] = new SimpleEntry<>(field.getName(), field.getType());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user