Java 判断实体类对象的全部属性是否空
public boolean checkObjAllFieldsIsNull(Object object) {// 如果对象为null直接返回trueif (null == object) {return true;}try {// 挨个获取对象属性值for (Field f : object.getClass().getDeclaredFields()) {f.setAccessible(true);// 如果有一个属性值不为null,且值不是空字符串,就返回falseif (f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {return false;}}} catch (Exception e) {e.printStackTrace();}return true;}
如果持久层用的是 MyBatis-Plus 框架,上面的代码会一直返回 false,这时候需要先在需要判断的实力类对象中加入 serialVersionUID 全局参数
private static final long serialVersionUID = 1L;
再使用下面的代码:
import java.lang.reflect.Field;/*** 判断实体类对象的属性值是否全部为空* @param object* @return*/
public boolean checkObjAllFieldsIsNull(Object object) {// 如果对象为null直接返回trueif (null == object) {return true;}try {// 挨个获取对象属性值for (Field f : object.getClass().getDeclaredFields()) {f.setAccessible(true);// 如果属性名不为serialVersionUID,有一个属性值不为null,且值不是空字符串,就返回falseif (!"serialVersionUID".equals(f.getName()) &&f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {return false;}}} catch (Exception e) {e.printStackTrace();}return true;}