@Slf4j public class ReflectionUtil { /** * 类中所有非空字段填充至Map * * @param target * @return */ public static Map<String, Object> getAllNonFieldToMap(Object target) { Map<String, Object> map = new HashMap<String, Object>(); if (target != null) { Class<?> clazz = target.getClass(); List<Field> fieldList = new ArrayList<>(); while (clazz != null) { fieldList.addAll(Arrays.asList(clazz.getDeclaredFields())); clazz = clazz.getSuperclass(); } for (Field f : fieldList) { try { f.setAccessible(true); Object val = f.get(target); if (val != null) { map.put(f.getName(), val); } } catch (IllegalAccessException e) { log.error("发生异常", e); } } } return map; } }
利用反射将类[以及父类]中所有非空字段填充至Map
最新推荐文章于 2021-07-27 16:57:58 发布