java Obect 轉map map 轉Object 工具類
阿新 • • 發佈:2019-02-11
import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.math.BigDecimal; import java.math.BigInteger; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; public class Util { public static Object mapToObject(Map<String, Object> map, Class<?> beanClass){ Object obj=null; if (map == null) { return null; } try{ obj = beanClass.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); field.set(obj, map.get(field.getName())); } }catch(Exception ex){ ex.printStackTrace(); } return obj; } public static Map<String, Object> objectToMap(Object obj){ Map<String, Object> map = new HashMap<String, Object>(); try{ if(obj == null){return null;} Field[] declaredFields = obj.getClass().getDeclaredFields(); for (Field field : declaredFields){ field.setAccessible(true); if(field.get(obj) instanceof String){ if(field.get(obj)!=null&&!field.get(obj).equals("")){ map.put(field.getName(), field.get(obj)); } }else if(field.get(obj) instanceof Long){ if(field.get(obj)!=null){ map.put(field.getName(), String.valueOf(field.get(obj))); } }else if(field.get(obj) instanceof Integer){ if(field.get(obj)!=null){ map.put(field.getName(), String.valueOf(field.get(obj))); } }else if(field.get(obj) instanceof Date){ if(field.get(obj)!=null){ map.put(field.getName(), DateFormater.DateToString((Date)field.get(obj),DateFormater.TIMEF_FORMAT)); } }else if(field.get(obj) instanceof Double){ if(field.get(obj)!=null){ map.put(field.getName(), String.valueOf(field.get(obj))); } }else if(field.get(obj) instanceof Float){ if(field.get(obj)!=null){ map.put(field.getName(), String.valueOf(field.get(obj))); } }else if(field.get(obj) instanceof BigInteger){ if(field.get(obj)!=null){ map.put(field.getName(), String.valueOf(field.get(obj))); } }else if(field.get(obj) instanceof Short){ if(field.get(obj)!=null){ map.put(field.getName(), String.valueOf(field.get(obj))); } }else if(field.get(obj) instanceof BigInteger){ if(field.get(obj)!=null){ map.put(field.getName(), String.valueOf(field.get(obj))); } }else{ if(field.get(obj)!=null){ map.put(field.getName(), field.get(obj)); } } } }catch(Exception ex){ ex.printStackTrace(); } return map; } //測試方法 public static void mian(String[]args){ PoJoTest pojo = new PoJoTest();</span> pojo.setId("123414"); pojo.setCreateTime(new Date()); Map params=Util.objectToMap(pojo); System.out.println(params.get("createTime")); } }
</pre><pre>