java - 如何使用反射获取字段值?

标签 java reflection

// getting entity
Object obj= items.get(i).returnEntity();

// finding fields
for(Field field : obj.getClass().getFields()){          
    if(field.getType().isAssignableFrom(String.class)){             
     Log.v(TAG, field.getName());  // it is working i can get field name

    Object value = field.get(obj); // value always `null` ???

如何获取字段的值?

我查看了下面的答案,但我不明白为什么我会得到 null ?

How to get the fields in an Object via reflection?

Reflection generic get field value

最佳答案

我猜,但名称 returnEntity 表明您可能正在处理 Hibernate(或 JPA)实体或类似实体。

这些可能仅在通过 getter 访问时才延迟加载其字段。如果您通过字段访问它们,它们仍然具有所有 null 值。

关于java - 如何使用反射获取字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16900566/

相关文章:

java - 使用java的sudo命令不起作用

java - 如果集群中的第一个节点关闭,Redis 客户端 (Redission) 将停止工作

c++ - if constexpr 似乎只有在两种情况都有效的情况下才有效

go - golang如何调用未导出的包函数

swift - Swift 中结构类型的反射

java - 最佳实践是什么?

java - 第一个 REST Spring 应用程序

java - AbstractList类的removeRange方法在子类中有什么用

java - 创建一个无操作 IncallingHandler

java - 尝试使用反射在运行时更改属性的值会导致 NullPointerException