java 将map转为实体类
Posted wangjinyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 将map转为实体类相关的知识,希望对你有一定的参考价值。
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转为实体类的主要内容,如果未能解决你的问题,请参考以下文章