map动态转换实体类
/**
* 将一个map组成的list转成实体类bean组成的list
* @param mapList 存了map对象的list
* @param clazz 需要将这些map转成哪个实体类对象
* @return
*/
public <T> List<T> convertMapListToBeanList(List<Map> mapList,Class<T> clazz){
List<T> list=new ArrayList<T>();
for(Map map:mapList){
try {
T obj=clazz.newInstance();//创建bean的实例对象
for(Object o:map.keySet()){//遍历map的key
for(Method m:clazz.getMethods()){//遍历bean的类中的方法,找到set方法进行赋值
if(m.getName().toLowerCase().equals("set"+o.toString().toLowerCase())){
m.invoke(obj, map.get(o));
}
}
}
list.add(obj);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
}
return list;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
上次更新: 2022/11/17, 13:20:04