Map与实体之间转换
2023-09-27 14:24:45 时间
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | package com.thunisoft.maybee.engine.utils; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.Date; import java.util.HashMap; import java.util.Map; public class MapObjUtil { /** * 实体对象转成Map * * @param obj 实体对象 * @return */ public static Map<String, Object> object2Map(Object obj) { Map<String, Object> map = new HashMap<String, Object>(); if (obj == null ) { return map; } Class clazz = obj.getClass(); Field[] fields = clazz.getDeclaredFields(); try { for (Field field : fields) { field.setAccessible( true ); map.put(field.getName(), field.get(obj)); } } catch (Exception e) { e.printStackTrace(); } return map; } /** * Map转成实体对象 * * @param map map实体对象包含属性 * @param clazz 实体对象类型 * @return */ public static <T> T map2Object(Map<String, Object> map, Class<T> clazz) { if (map == null ) { return null ; } T obj = null ; try { obj = clazz.newInstance(); Field[] fields = obj.getClass().getDeclaredFields(); for (Field field : fields) { int mod = field.getModifiers(); if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) { continue ; } field.setAccessible( true ); String filedTypeName = field.getType().getName(); if (filedTypeName.equalsIgnoreCase( "java.util.date" )) { String datetimestamp = String.valueOf(map.get(field.getName())); if (datetimestamp.equalsIgnoreCase( "null" )) { field.set(obj, null ); } else { field.set(obj, new Date(Long.parseLong(datetimestamp))); } } else { field.set(obj, map.get(field.getName())); } } } catch (Exception e) { e.printStackTrace(); } return obj; } } |
相关文章
- 踩准时钟节拍、玩转时间转换,鸿蒙轻内核时间管理有妙招
- 彩色图像到灰度转换 常见方法
- ORA-22835 缓冲区对于 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换而言太小
- fastjson详解@JSONField注解的使用、字段转换
- IPv4不会死 地址转换技术成主流趋势
- ffplay的快捷键以及选项 FFmpeg 基本用法 FFmpeg常用基本命令 ffmpeg常用转换命令,支持WAV转AMR
- 《数据虚拟化:商务智能系统的数据架构与管理》一 2.7 提取-转换-装载、提取-装载-转换和复制
- Bean与Map的转换 和 Map与Bean的转换
- 微信公众帐号开发-消息创建时间long型与标准时间的互相转换
- PHP强制转换中(array)和(object)妙用,关联数组与对象快速转换【转】
- (四)使用OpenCV实现图像彩色模型转换
- 通过反射将一个java对象的属性值转换为一个Map
- JavaBean和Map转换封装类