// 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` ???
如何獲取字段的值?如何使用反射獲取字段值?
我看了下面的答案,但我不明白爲什麼我得到空?
How to get the fields in an Object via reflection?
Reflection generic get field value
你肯定一)領域實際上是不爲空,和b)你的程序在調用'field.get'時沒有拋出異常? –
'returnEntity'如何初始化返回的'Object'?它很可能是'空',因爲該字段尚未初始化。獲取Field.getName()的值並不意味着該字段有價值。 – Genzer
那麼,如果值不爲空,可能需要將修飾符設置爲可訪問的:field.setAccessible(true); 另外,你還可以在這裏粘貼堆棧跟蹤嗎? – dosdebug