5

大量の文字列を含む POJO があり、それらがすべて空であるか、特定の文字が含まれているかなどを確認する簡単な方法が必要です。

これで String 変数を取得します。

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

    for (Field f : fields) {

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

    }

しかし、フィールドの文字列値を取得する方法がわかりません。それはどのように行われますか?

4

3 に答える 3

4

電話する必要があります:

Object val = f.get(this); 

または文字列オブジェクトを取得するには:

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

f の値で表されるフィールドを取得します。

見る:Field#Get(Object)

また:Getting and Setting Field Values

于 2013-06-28T09:04:43.747 に答える
2

このコードを試して値を取得できます:

for (Field f : fields) {
   if (f.getType() == java.lang.String.class) {
        Log.d("REF", "Field: " + f.getName());
        String s = (String)f.get(this);
   }
}
于 2013-06-28T09:05:34.613 に答える