判断对象是否为空

java中我们常常需要判断需要砍断对象是否为空,由于我们在创建对象的时候一般会实现序列化,并且在new对象的时候无法判断对象中所有值都是否为空,因此我们需要使用反射来实现判断每个值是否为空。

具体实现如下:

@SuppressWarnings("rawtypes")
    public static boolean isAllFieldNull(Object obj) throws Exception{
        Class stuCla = (Class) obj.getClass();// 得到类对象
        Field[] fs = stuCla.getDeclaredFields();//得到属性集合
        boolean flag = true;

       //遍历属性
        for (Field f : fs) {
            f.setAccessible(true); // 设置属性是可以访问的(私有的也可以)
            if (f.getName().equals("serialVersionUID")) {//将序列化的值跳过
                continue ;
            }
            Object val = f.get(obj);// 得到此属性的值
            if(val!=null) {//只要有1个属性不为空,那么就不是所有的属性值都为空
                flag = false;
                break;
            }
        }
        return flag;
    }


版权声明:本文为DCBTB原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。