import java.io.Serializable; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author * 2017-09-25 */ public class MapConvertUtil implements Serializable{ /** * 序列化 */ private static final long serialVersionUID = -1581756576497606672L; private static final Logger LOGGER = LoggerFactory.getLogger(MapConvertUtil.class); public static Double getDoubleValue(Map<String, Object> map, String key) { BigDecimal value = getMapValue(map, key, BigDecimal.class); return value == null ? 0d : value.doubleValue(); } public static Float getFloatValue(Map<String, Object> map, String key) { BigDecimal value = getMapValue(map, key, BigDecimal.class); return value == null ? 0f : value.floatValue(); } public static Date getDateValue(Map<String, Object> map, String key) { Object value = map.get(key); return value == null ? new Date() : new Date(value.toString()); } public static Integer getIntegerValue(Map<String, Object> map, String key) { Object value = map.get(key); if(value != null) { try { return Integer.valueOf(value.toString()); } catch (Exception e) { LOGGER.error("exception message:", e); return 0; } } return 0; } public static Long getLongValue(Map<String, Object> map, String key) { Object value = map.get(key); if(value != null) { try { return Long.valueOf(value.toString()); } catch (Exception e) { LOGGER.error("exception message:", e); return 0l; } } return 0l; } public static String getStringValue(Map<String, Object> map, String key) { String value = getMapValue(map, key, String.class); return value == null ? "" : value; } public static <T> T getMapValue(Map<String, Object> map, String key, Class<T> clazz) { Object value = map.get(key); if (value == null) { return null; } return clazz.cast(value); } public static Map<String, Object> PO2Map(Object o){ Map<String, Object> map = new HashMap<String, Object>(); Field[] fields = null; try { //子类属性 fields = o.getClass().getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); String proName = field.getName(); Object proValue = field.get(o); map.put(proName, proValue); } //父类属性 fields = o.getClass().getSuperclass().getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); String proName = field.getName(); Object proValue = field.get(o); map.put(proName, proValue); } } catch (Exception e) { LOGGER.error("exception message:", e); } return map; } public static Object map2PO(Map<String,Object> map,Object o){ try { if (!map.isEmpty()) { for (Map.Entry<String,Object> m : map.entrySet()) { Object v = ""; if (!m.getKey().isEmpty()) { v = m.getValue(); } Field[] fields = null; //子类属性 fields = o.getClass().getDeclaredFields(); for (Field field : fields) { int mod = field.getModifiers(); if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){ continue; } if (field.getName().equals(m.getKey())) { field.setAccessible(true); field.set(o, v); } } //父类属性 fields = o.getClass().getSuperclass().getDeclaredFields(); for (Field field : fields) { int mod = field.getModifiers(); if(Modifier.isStatic(mod) || Modifier.isFinal(mod)){ continue; } if (field.getName().equals(m.getKey())) { field.setAccessible(true); field.set(o, v); } } } } }catch (Exception e) { LOGGER.error("exception message:", e); } return o; } public static Map<String,Object> getMsgResultMap(final String msg) { return new HashMap<String, Object>(){/** */ private static final long serialVersionUID = 3883115499389307532L; { put("code", "0"); put("msg", msg); }}; } public static Map<String,Object> getDataResultMap(final Object data) { return new HashMap<String, Object>(){/** */ private static final long serialVersionUID = 2024109428179733317L; { put("code", "1"); put("msg", "success"); put("data", data); }}; } }
Map工具类
猜你喜欢
转载自songfeng-123.iteye.com/blog/2394862
今日推荐
周排行