Java反射获取字段值[重复]

Posted

技术标签:

【中文标题】Java反射获取字段值[重复]【英文标题】:Java Reflection get field value [duplicate] 【发布时间】:2021-08-08 12:38:00 【问题描述】:

我正在尝试通过反射获取字段的值:

  for (Field field : entity.getClass().getDeclaredFields()) 

            log.info("[Field name]  ", field);
            try 
                log.info("[Field value]  ", field.get(entity));
             catch (Exception e) 
                log.error(e.getMessage());
            
        

但我有这个错误:

 cannot access a member of class com.model.Dog with modifiers "private"

【问题讨论】:

【参考方案1】:

你忘了让这个字段可以访问:

for (Field field : entity.getClass().getDeclaredFields()) 
    log.info("[Field name]  ", field);
    try 
        field.setAccessible(true);
        log.info("[Field value]  ", field.get(entity));
     catch (Exception e) 
        log.error(e.getMessage());
    

【讨论】:

以上是关于Java反射获取字段值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何反射取得一个对象中所有字段的值

Java中是不是可以通过反射访问私有字段[重复]

java field获取值

java中使用反射获取pojo(实体)类的全部字段值

java教程——反射

java反射获取字段的属性值,以及为字段赋值等方法