Java反射获取所有私有字段

用户2152361:

我想知道是否有一种方法可以获取Java中某个类的所有私有字段及其类型。

例如,假设我有一堂课

class SomeClass {
    private String aaa;
    private SomeOtherClass bbb;
    private double ccc;
}

现在,我想获得的所有私有字段(aaabbbccc类)SomeClass(如果不知道所有领域前期的名称),并检查它们的类型。

西里卡(Cyrille Ka):

有可能获得与方法的所有字段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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

什么是最短的,最好的,最干净的通过在Java反射来设置私有字段的方式?

Java反射,从不同的包私有类的创建对象

Kotlin反射-获取类的所有字段名称

用反射设置私有静态最终字段

用反射设置私有字段值

使用Java反射更改私有静态最终字段

通过Java中的反射访问私有继承的字段

为什么允许通过反射访问Java私有字段?

从类中获取所有字段(包括私有字段和继承字段)

Android:使用Java反射更改私有静态最终字段

通过反射访问Java中的私有变量

通过反射获取所有内部类

Java反射,更改私有静态最终字段没有做任何事情

是否可以使用反射从Java类中检索所有成员,包括私有成员?

在Java中通过反射获取私有字段

通过反射获取所有ICollection属性

使用反射获取私有财产的私有财产

如何使用Java中的反射确定字段是私有的还是受保护的?

使用Java反射获取Scala特性中的私有字段

使用反射返回所有对象属性(包括私有)

如何在Java中通过反射访问父类的父类的私有字段?

反射-将连接字段传递给私有方法

查找没有NoClassDefFoundError的所有私有字段

Java:通过反射(行为)访问私有字段

通过反射获取特定的公共字段(对于所有父类)

Java反射嵌套对象设置私有字段

如何递归和反射地获取所有可能的字段名称路径的列表?

使用反射访问 golang 中包的私有字段

反射 - 获取私有字段值