package com.xxxx.reflection;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class MapUtil{
/**
* 将对象的每一字段的值保存到List中
*
* @param obj 参数Object
* @return Map<String,Object> 返回值Map
*/
public static Map<String, Object> objectToMap(Object obj) {
Map<String, Object> map = new HashMap<>();// 定义返回值Map
if (obj == null) {
return map;
}
Class<?> clazz = obj.getClass();// 获取类的字节码
Field[] fields = clazz.getDeclaredFields();// 获取类里面的所有的成员变量
for (Field field : fields) {// 对成员变量数组进行便利
field.setAccessible(true); // 临时取消成员变量权限修饰符
String fieldName = field.getName();// 获取成员变量名
Object fieldValue;// 定义成员变量值接收对象
try {
fieldValue = field.get(obj);// 接收成员变量
} catch (Exception e) {
fieldValue = new Object();// 接受失败将接受对象重置
}
map.put(fieldName, fieldValue);
}
return map;
}
}
将对象(Object)转为Map类型
最新推荐文章于 2024-07-11 20:54:57 发布