package com.zy.acs.hex.utils; import org.springframework.util.ReflectionUtils; import java.lang.reflect.Modifier; import java.util.HashMap; import java.util.Map; public class ObjectToMapUtils { public static Map objectToMap(Object obj, boolean includeSuperclass) { Map map = new HashMap<>(); if (obj == null) { return map; } ReflectionUtils.FieldCallback callback = field -> { if (Modifier.isStatic(field.getModifiers())) { return; } ReflectionUtils.makeAccessible(field); map.put(field.getName(), ReflectionUtils.getField(field, obj)); }; if (includeSuperclass) { // 包含父类字段 ReflectionUtils.doWithFields(obj.getClass(), callback); } else { // 仅当前类字段 ReflectionUtils.doWithLocalFields(obj.getClass(), callback); } return map; } }