我有一个带有大量字符串的POJO,我想要一个简单的方法来检查它们是否都是空的/包含某个字符/什么。
我用这个获取String变量:
Field[] fields = this.getClass().getDeclaredFields();
for (Field f : fields) {
if (f.getType() == java.lang.String.class) {
Log.d("REF", "Field: " + f.getName());
}
}
但我不知道如何获取Field的String值。怎么做?
答案 0 :(得分:3)
您需要致电:
Object val = f.get(this);
OR获取String对象:
String strval = (String) f.get(this);
获取由f的值表示的字段。
答案 1 :(得分:2)
您可以尝试使用此代码获取值:
for (Field f : fields) {
if (f.getType() == java.lang.String.class) {
Log.d("REF", "Field: " + f.getName());
String s = (String)f.get(this);
}
}
答案 2 :(得分:1)
对于任何对象,您应该使用Field#get(Object)方法。因为String是java中的对象,因此:
String str = (String)f.get(this);