首页 > 编程语言 > 详细

java 将map转为实体类

时间:2019-06-03 15:57:40      阅读:967      评论:0      收藏:0      [点我收藏+]
 1 public static <T> T map2Object(Map<String, Object> map, Class<T> clazz) {
 2         
 3         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 4         
 5         if (map == null) {
 6             return null;
 7         }
 8         T obj = null;
 9         try {
10             // 使用newInstance来创建对象
11             obj = clazz.newInstance();
12             // 获取类中的所有字段
13             Field[] fields = obj.getClass().getDeclaredFields();
14             for (Field field : fields) {
15                 int mod = field.getModifiers();
16                 // 判断是拥有某个修饰符
17                 if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
18                     continue;
19                 }
20                 // 当字段使用private修饰时,需要加上
21                 field.setAccessible(true);
22                 // 获取参数类型名字
23                 String filedTypeName = field.getType().getName();
24                 // 判断是否为时间类型,使用equalsIgnoreCase比较字符串,不区分大小写
25                 if (filedTypeName.equalsIgnoreCase("java.util.date")) {
26                     
27                     String datetimestamp = (String) map.get(field.getName());
28                     if (datetimestamp.equalsIgnoreCase("null")) {
29                         field.set(obj, null);
30                     } else {
31                         field.set(obj, sdf.parse(datetimestamp));
32                     }
33                 } else {
34                     field.set(obj, map.get(field.getName()));
35                 }
36             }
37         } catch (Exception e) {
38             e.printStackTrace();
39         }
40         return obj;
41     }

 

java 将map转为实体类

原文:https://www.cnblogs.com/wangjinyu/p/10967888.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!