我想知道是否有一种方法可以获取Java中某个类的所有私有字段及其类型。
例如,假设我有一堂课
class SomeClass {
private String aaa;
private SomeOtherClass bbb;
private double ccc;
}
现在,我想获得的所有私有字段(aaa
,bbb
,ccc
类)SomeClass
(如果不知道所有领域前期的名称),并检查它们的类型。
有可能获得与方法的所有字段getDeclaredFields()
的Class
。然后,您必须检查每个字段的修饰符以查找私有字段:
List<Field> privateFields = new ArrayList<>();
Field[] allFields = SomeClass.class.getDeclaredFields();
for (Field field : allFields) {
if (Modifier.isPrivate(field.getModifiers())) {
privateFields.add(field);
}
}
请注意,getDeclaredFields()
这不会返回继承的字段。
最终,您可以使用Field.getType()方法获得字段的类型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句