Java反射判断对象实例所有属性是否为空

https://www.jb51.net/article/201647.htm

      public static Boolean ObjectAllFieldsEmpty(Object obj) throws Exception {
        if(null == obj){
            return true;
        }
        //得到类对象
        Class<?> clazz=obj.getClass();
        //得到属性集合
        Field[] fields=clazz.getDeclaredFields();
        //遍历属性
        for(Field field:fields){
            //设置属性是可以访问的(私有的也可以)
            field.setAccessible(true);
            Object o = field.get(obj);
            //校验集合类型属性
            if (o instanceof Collection) {
                if (((Collection) o).size() > 0) {
                    return false;
                }
            }
            if (o instanceof Map) {
                if (((Map) o).size() > 0) {
                    return false;
                }
            }

            if(field.get(obj) != null || field.get(obj) != "" || !"null".equalsIgnoreCase((String)field.get(obj))){
                return false;
            }
        }
        return true;
    }

posted @ 2020-12-14 17:38  至安  阅读(457)  评论(0编辑  收藏  举报