Bootstrap

判断对象属性是否全部为空

有时候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("{}"));
;