判断包含int属性的对象是否为空
我看了许多从网上找的资料发现,大多数都是用java自带工具或者自己写的工具类,但是这里有一个问题,这些工具类只判断默认值为NULL的属性值,遇到int属性值就会判断这个对象不为空。这并不是实际开发所需要的。
public class checkObjAllFieldsIsNull {
public static boolean checkObjAllFieldsIsNull(Object object) {
// 如果对象为null直接返回true
if (null == object) {
return true;
}
try {
// 挨个获取对象属性值
for (Field f : object.getClass().getDeclaredFields()) {
f.setAccessible(true);
// 如果有一个属性值不为null,且值不是空字符串,就返回false
if (f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())){
return false;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
对象属性包含int
使用工具类就会发现判断的对象不为空
改进
既然它没有判断int是否为0,手动加上
&& Integer.parseInt(f.get(object).toString()) != 0
这样就可以判断int属性是否为0