有时候new了一个对象,根据一些逻辑判断set了属性值,最后判断不为null再做后续的逻辑处理,此时new的对象可能值都为空,但是对象并不等于null
/**
* 判断对象属性是否全部为空,是返回true
* @param object
* @return
*/
private static boolean checkObjAllFieldsIsNull(Object object) {
if (null == object) {
return true;
}
try {
for (Field f : object.getClass().getDeclaredFields()) {
f.setAccessible(true);
if (f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {
return false;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
new 了对象后即使属性全部为空也不是null,这里提供一个不太好的思路吧,把对象转成json看下是不是只有{}
Student student = new Student();
System.out.println(student == null); // false
String s = JSONObject.toJSONString(student);
System.out.println(s); // {}
System.out.println(!s.equals("{}"));