正在显示
1 个修改的文件
包含
61 行增加
和
0 行删除
1 | +package com.tianbo.util.Bean; | ||
2 | + | ||
3 | +import java.lang.reflect.Field; | ||
4 | +import java.lang.reflect.Modifier; | ||
5 | +import java.util.HashMap; | ||
6 | +import java.util.Map; | ||
7 | + | ||
8 | +public class Bean2Map { | ||
9 | + /** | ||
10 | + * 实体对象转成Map | ||
11 | + * @param obj 实体对象 | ||
12 | + * @return | ||
13 | + */ | ||
14 | + public static Map<String, Object> object2Map(Object obj) { | ||
15 | + Map<String, Object> map = new HashMap<>(); | ||
16 | + if (obj == null) { | ||
17 | + return map; | ||
18 | + } | ||
19 | + Class clazz = obj.getClass(); | ||
20 | + Field[] fields = clazz.getDeclaredFields(); | ||
21 | + try { | ||
22 | + for (Field field : fields) { | ||
23 | + field.setAccessible(true); | ||
24 | + map.put(field.getName(), field.get(obj)); | ||
25 | + } | ||
26 | + } catch (Exception e) { | ||
27 | + e.printStackTrace(); | ||
28 | + } | ||
29 | + return map; | ||
30 | + } | ||
31 | + /** | ||
32 | + * Map转成实体对象 | ||
33 | + * @param map map实体对象包含属性 | ||
34 | + * @param clazz 实体对象类型 | ||
35 | + * @return | ||
36 | + */ | ||
37 | + public static Object map2Object(Map<String, Object> map, Class<?> clazz) { | ||
38 | + if (map == null) { | ||
39 | + return null; | ||
40 | + } | ||
41 | + Object obj = null; | ||
42 | + try { | ||
43 | + obj = clazz.newInstance(); | ||
44 | + | ||
45 | + | ||
46 | + Field[] fields = obj.getClass().getDeclaredFields(); | ||
47 | + for (Field field : fields) { | ||
48 | + int mod = field.getModifiers(); | ||
49 | + if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) { | ||
50 | + continue; | ||
51 | + } | ||
52 | + field.setAccessible(true); | ||
53 | + field.set(obj, map.get(field.getName())); | ||
54 | + } | ||
55 | + } catch (Exception e) { | ||
56 | + e.printStackTrace(); | ||
57 | + } | ||
58 | + return obj; | ||
59 | + } | ||
60 | + | ||
61 | +} |
-
请 注册 或 登录 后发表评论