时 间 记 忆
<<  < 2018 - >  >>
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

最 新 评 论

最 新 日 志

最 新 留 言

搜 索

用 户 登 录

我 的 相 册

我 的 圈 子

我 的 好 友

友 情 连 接


 
 
 
把Map的值赋给指定的对象
[ 2017-6-30 15:31:00 | By: 我家超超会发光 ]
 
     import java.lang.reflect.Field;
     import java.lang.reflect.Method;
     import java.util.ArrayList;
     import java.util.Date;
     import java.util.HashMap;
     import java.util.Map;
    /**
     * 把Map的值赋给指定的对象
     *
     * @param map
     *            Map
     * @param obj
     *            对象
     * @return 赋值后的对象
     */
    public static Object mapToEntity(Map map, Object obj) {
        Field[] fields = obj.getClass().getDeclaredFields();
        Field.setAccessible(fields, true);
        for (int i = 0; i < fields.length; i++) {
            try {
                Field feild = fields[i];
                Class cls = feild.getType();
                String name = feild.getName();
                if ("MAPPER_NAME_SPACE".equals(name)) {
                    continue;
                }
                Object value = getMapObjectValueByKey(map, name);
                if (cls.equals(Date.class)) {
                    value = UncDate.parseDate(UtilAPI.turnString(value));
                }
                String setMethod = "set" + name.substring(0, 1).toUpperCase() + name.substring(1);
                Method method = obj.getClass().getMethod(setMethod, new Class[] { cls });
                method.invoke(obj, new Object[] { value });
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        return obj;
    }

   public static Object getMapObjectValueByKey(Map map, String key) {
        if (map.containsKey(key)) {
            return map.get(key);
        } else {
            return null;
        }
    }
 
 
  • 标签:赋值 
  • 发表评论:
     
    浙江博客 浙江博客
    浙江博客欢迎您!