我有一堂课
class Foo{
String a
String b
.
.
// nearly 250 data members
// all have getters and setter
}
现在当我创建类的对象时
我如何检查对象中的任何数据成员为空
我正在使用以下方法
public boolean clearBlank()
{
if(StringUtils.isBlank(this.getA()))
return true;
if(StringUtils.isBlank(this.getB()))
return true;
if(StringUtils.isBlank(this.getC()))
return true;
.
.
.
// similarly for all 250 data member
return false;
}
是否有更好的方法通过调用所有250个对象的getter进行检查?
最佳答案
是的,您可以使用Java Reflection遍历对象的所有字段并获取它们的值进行比较。
像这样:
public static boolean hasBlankVariables(Object obj) throws IllegalArgumentException, IllegalAccessException {
for (Field field : obj.getClass().getDeclaredFields()) {
if (!field.isAccessible()) {
field.setAccessible(true);
}
// Danger!
String str = (String) field.get(obj);
if (StringUtils.isBlank(str)) {
return true;
}
}
return false;
}
关于java - 检查对象的空白变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10415771/