正在显示
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 | +} |
-
请 注册 或 登录 后发表评论