java Map转换为实体类

/**
     * map转换成实体类
     * @param map
     * @param thisObj
     * @return
     */
    public static Object convertMapToEntity2(Map map,Object thisObj)
    {
    //获取实体类的属性,返回field数据
    Field[] field = thisObj.getClass().getDeclaredFields();
    Class c;
    String name = "";
    Object value = "";
    Class type;
    String date;
    try {
c = Class.forName(thisObj.getClass().getName());
for (int i=0;i     {
    name= field[i].getName();
    type= field[i].getType();
    value = map.get(name);
   
    if(value==null)
    {
    continue;
    }
   
    String met = name;  
           met = met.trim();  
           
           if (!met.substring(0, 1).equals(met.substring(0, 1).toUpperCase()))  
           {  
             met = met.substring(0, 1).toUpperCase() + met.substring(1);  
           }  
           
           met = "set" + met;
           
           //关键。。。可访问私有变量
//            field[i].setAccessible(true);
           Method m = c.getMethod(met,type);
           
           if (type.toString().equals("class java.util.Date"))//如果有日期是字符串的话 需要转换一下
           {
            date = value.toString();
            m.invoke(thisObj, dateFormat.parse(date));  
           }else {
            m.invoke(thisObj, value);  
           }
           
    }
} catch (Exception e) {
System.out.println("convertMapToEntity2Error:"+e.getMessage());
}
   
    return thisObj;
    }

你可能感兴趣的:(java)