0
// 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 になるのかわかりませんか?

リフレクションを介してオブジェクトのフィールドを取得する方法は?

リフレクションジェネリック取得フィールド値

4

3 に答える 3

3

私は推測していますが、名前returnEntityは、Hibernate (または JPA) エンティティまたは類似のものを扱っている可能性があることを示唆しています。

それらは、ゲッターを介してアクセスする場合にのみ、フィールドを遅延してロードする可能性があります。フィールドを介してアクセスすると、すべてのnull値が保持されます。

于 2013-06-03T15:44:07.033 に答える