首页 > 技术文章 > 判断Java Bean对象所有属性是否为空

mylqm 2021-01-28 11:45 原文

最近在使用easypoi时,需要判断读取的BeanTemplate的对象属性是否都为null

之前认定直接用if(Bean == null) 来判断,结果可想而知

当一个Bean类创建了一个对象,不管那个对象里面有没有值,它肯定不是为空的!

当读取到的BeanTemplate数据中所有属性都为空时,这个对象还是不为空的!!!

那么,如何判断这个对象里面每个属性的值都为null呢?

 

/**
 * @ProjectName: test
 * @Package: com.test.utils
 * @ClassName: ObjectUtils
 * @Author: ***
 * @Description: 判断bean对象是否为空
 * @Date: 2021/1/28 11:21
 * @Version: 1.0
 */
public class ObjectUtils {

    private ObjectUtils() {
    }

    /**
     * 判断类中每个属性是否都为空
     *
     * @param o
     * @return
     */
    public static boolean allFieldIsNULL(Object o){
        try {
            for (Field field : o.getClass().getDeclaredFields()) {
                field.setAccessible(true);

                Object object = field.get(o);
                if (object instanceof CharSequence) {
                    if (!org.springframework.util.ObjectUtils.isEmpty(object)) {
                        return false;
                    }
                } else {
                    if (null != object) {
                        return false;
                    }
                }
            }
        } catch (Exception e) {
            System.out.println("判断对象属性为空异常");
        }
        return true;
    }

}

 

推荐阅读