我有一个POJO,里面有很多字符串,我想要一个简单的方法来检查它们是否都是空的/包含某个字符/什么。
我用这个得到字符串变量:
Field[] fields = this.getClass().getDeclaredFields();
for (Field f : fields) {
if (f.getType() == java.lang.String.class) {
Log.d("REF", "Field: " + f.getName());
}
}
但我不知道如何获取字段的String值。它是如何完成的?
您需要调用:
Object val = f.get(this);
OR获取字符串对象:
String strval = (String) f.get(this);
以获得由f的值表示的字段。
参见:Field#Get(Object)
另外:Getting and Setting Field Values
您可以尝试此代码来获得值:
for (Field f : fields) {
if (f.getType() == java.lang.String.class) {
Log.d("REF", "Field: " + f.getName());
String s = (String)f.get(this);
}
}
对于任何对象,都应该使用Field#get(object)方法。由于String是java中的一个对象,因此:
String str = (String)f.get(this);