動態轉換list的資料型別,將map型別的list轉成實體類型別的
阿新 • • 發佈:2019-02-04
/** * 將一個map組成的list轉成實體類bean組成的list * @param mapList 存了map物件的list * @param clazz 需要將這些map轉成哪個實體類物件 * @return */ public <T> List<T> convertMapListToBeanList(List<Map> mapList,Class<T> clazz){ List<T> list=new ArrayList<T>(); for(Map map:mapList){ try { T obj=clazz.newInstance();//建立bean的例項物件 for(Object o:map.keySet()){//遍歷map的key for(Method m:clazz.getMethods()){//遍歷bean的類中的方法,找到set方法進行賦值 if(m.getName().toLowerCase().equals("set"+o.toString().toLowerCase())){ m.invoke(obj, map.get(o)); } } } list.add(obj); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } } return list; }