java Obect 转map map 转Object 工具类

来源:互联网 发布:小红书 有钱人 知乎 编辑:程序博客网 时间:2024/04/30 11:40
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>
                                             
0 0