美文网首页
判断一个对象属性是否为null

判断一个对象属性是否为null

作者: 醉疯觞 | 来源:发表于2017-05-04 16:23 被阅读0次

    经常判断前端传来的参数对象是否为空,所以写了下面这个方法;目前碰到的问题是这个方法只能判断该类中的属性,如果继承父类的属性则判断不到

    class ObjectIsNull {
        public static boolean checkObjFieldIsNull(Object obj) throws IllegalAccessException {
            for(Field f : obj.getClass().getDeclaredFields()){
                f.setAccessible(true);
                //这里忽略static final 类型的属性,如若不需要可以去掉
                if(Modifier.isFinal(f.getModifiers())&&Modifier.isStatic(f.getModifiers())){
                    continue;
                }
                if(!isEmpty(f.get(obj))){
                    return false;
                }
                f.setAccessible(false);
            }
            return true;
        }
        //判断是否为空
        public static boolean isEmpty(Object obj) {
            if (obj == null) {
                return true;
    
            } else if (obj instanceof String && (obj.toString().trim().equals(""))) {
                return true;
    
            } else if (obj instanceof Number && ((Number) obj).doubleValue() < 0) {
                return true;
    
            } else if (obj instanceof Collection && ((Collection) obj).isEmpty()) {
                return true;
    
            } else if (obj instanceof Map && ((Map) obj).isEmpty()) {
                return true;
    
            } else if (obj instanceof Object[] && ((Object[]) obj).length == 0) {
                return true;
    
            }
            return false;
        }
    }

    相关文章

      网友评论

          本文标题:判断一个对象属性是否为null

          本文链接:https://www.haomeiwen.com/subject/ssqdtxtx.html