public static<T> List<Map<String,Object>> bean2map(List<T> list) throws Exception{
List<Map<String, Object>> listMap = new ArrayList<>();
for (T bean : list) {
Map<String,Object> map = new HashMap<>();
//获取JavaBean的描述器
BeanInfo b = Introspector.getBeanInfo(bean.getClass(),Object.class);
//获取属性描述器
PropertyDescriptor[] pds = b.getPropertyDescriptors();
//对属性迭代
for (PropertyDescriptor pd : pds) {
//属性名称
String propertyName = pd.getName();
//属性值,用getter方法获取
Method m = pd.getReadMethod();
Object properValue = m.invoke(bean);//用对象执行getter方法获得属性值
//把属性名-属性值 存到Map中
map.put(propertyName, properValue);
}
listMap.add(map);
}
return listMap;
}
超好用的bean2map工具类
该博客详细介绍了如何使用Java的Introspector和PropertyDescriptor将JavaBean对象转换为Map集合。通过遍历Bean的属性描述器,获取每个属性的名称和值,并调用getter方法来获取属性值,最后将这些信息存入Map中。这个方法对于数据转换和序列化非常有用。
摘要由CSDN通过智能技术生成