最近的项目里的一个需求,要我判断一个对象里的所有属性,是否存在值不是“”或是null的
public boolean checkGoodMode(List<GoodMode> list){
int index=0;
String values[] = new String[39];//这里设置39,是因为有39个属性
for(int i=0;i<list.size();i++){
java.lang.reflect.Field[] fields = list.get(i).getClass().getDeclaredFields();//获取i对象的所有字段
for(int j=0;j<fields.length;j++){
fields[j].setAccessible(true);
Object value;
try {
value = fields[j].get(list.get(i));//获取字段值
values[j]=(String) value;//字段值放进values数组
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
for(int k=0;k<values.length;k++){//判断属性是否存在除""和null之外的值
if(!("".equals(values[k])||values[k]==null)){
index++;
break;
}
}
}
if(index==0){
return false;
}
else{
return true;
}
}