博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Map与实体之间转换
阅读量:6550 次
发布时间:2019-06-24

本文共 1721 字,大约阅读时间需要 5 分钟。

 

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
object2Map(Object obj) { Map
map = new HashMap
(); 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 map2Object(Map
map, Class
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; }}

 

转载地址:http://tjyco.baihongyu.com/

你可能感兴趣的文章
重构并没有你想象的那么简单
查看>>
React Native填坑之旅--Stateless组件
查看>>
未来的.NET之多重继承
查看>>
为什么html里面的onclick函数后面要加(),而js里面不需要?
查看>>
LinkedIn庄振运:从国家部委公务员到硅谷系统性能专家,创新是唯一主旋律
查看>>
用户超5亿,三年投10亿,开发者如何抢滩支付宝小程序蓝海?
查看>>
NettyClient端调用remote service的方式
查看>>
spring-security详解
查看>>
使用python制作时间戳转换工具
查看>>
Drools实战系列(三)之eclipse创建工程
查看>>
Android利用Cookie实现码源登录效果
查看>>
****timeago.js插件:jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例...
查看>>
我常用的命令
查看>>
tengine+tomcat+php安装
查看>>
第 45 章 HyperDex
查看>>
51Nod 1083 矩阵取数问题(矩阵取数dp,基础题)
查看>>
会议室预定系统实践(轻松解放开发) - PostgreSQL tsrange(时间范围类型) + 排他约束...
查看>>
Centos6安装SaltStack
查看>>
世纪互联发布全新云战略,打造混合IT服务平台
查看>>
新华三智绽百城巡展走进洛阳“千年古都”焕发新生机
查看>>