package com.consum.base.util; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class MapUtils { public static T convertMapToObj(Map map, Class clazz) { try { T obj = clazz.newInstance(); for (Map.Entry entry : map.entrySet()) { Field field = clazz.getDeclaredField(entry.getKey()); field.setAccessible(true); field.set(obj, entry.getValue()); } return obj; } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (NoSuchFieldException e) { e.printStackTrace(); } return null; } public static final char UNDERLINE = '_'; /** * 把map的key转换成驼峰命名 * * @param map * @return */ public static Map toReplaceKeyLow(Map map) { Map reMap = new HashMap(); if (map != null) { Iterator var2 = map.entrySet().iterator(); while (var2.hasNext()) { Map.Entry entry = (Map.Entry) var2.next(); reMap.put(underlineToCamel((String) entry.getKey()), map.get(entry.getKey())); } map.clear(); } return reMap; } /** * 将下划线转为驼峰格式 * * @param param * @return */ public static String underlineToCamel(String param) { if (param == null || "".equals(param.trim())) { return ""; } int len = param.length(); StringBuilder sb = new StringBuilder(len); for (int i = 0; i < len; i++) { char c = param.charAt(i); if (c == UNDERLINE) { if (++i < len) { sb.append(Character.toUpperCase(param.charAt(i))); } } else { sb.append(Character.toLowerCase(param.charAt(i))); } } return sb.toString(); } }