/** * 解析对象为Model * 自定义filter * @param obj * @param parseSuper 是否解析父类 * @return */ public static List<Model> parseByObject(Object obj,boolean parseSuper,FieldFilter ff){ List<Model> list = new ArrayList<>(); if (obj==null) { return list; } //解析Field FieldCallback fc = new FieldCallback() { @Override public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException { if (ff != null && !ff.matches(field)) { return; } Model m = parseByField(obj, field); if (m!=null) { list.add(m); } } }; if (parseSuper) { ReflectionUtil.doWithFields(obj.getClass(),fc); }else{ ReflectionUtil.doWithLocalFields(obj.getClass(),fc); } return list; }