2013-06-28 61 views
5

我有一個POJO加載字符串,我想要一個簡單的方法來檢查它們是否全空/包含某個字符/無論什麼。通過反射獲取字符串變量值

我得到的字符串變量與此:

Field[] fields = this.getClass().getDeclaredFields(); 

    for (Field f : fields) { 

     if (f.getType() == java.lang.String.class) { 
      Log.d("REF", "Field: " + f.getName()); 
     } 

    } 

,但我不知道如何獲取字段的字符串值。它是如何完成的?

回答

2

你可以試試這個代碼來獲取值:

for (Field f : fields) { 
    if (f.getType() == java.lang.String.class) { 
     Log.d("REF", "Field: " + f.getName()); 
     String s = (String)f.get(this); 
    } 
} 
1

對於任何對象你應該使用Field#get(Object)方法。因爲String是java中的一個對象,因此:

 String str = (String)f.get(this);