public classBeanToMap {/*** 将bean转化为map 如果本身为map则不需要转换了
* 考虑兼容性
*@paramList
*@return
*/public static List changeBean2MapList(List>list){
List returnList = new ArrayList();try{if(null != list && list.size() >0){for(Object obj:list){if(obj instanceofMap){
returnList.add((Map)obj);
}else{
Class clazz=obj.getClass();//获取类型类,这是反射机制,得到的是一个对象是什么类型
Field[] fields=clazz.getDeclaredFields();//获取类所有声明的字段,不包含父类中的字段
Map returnMap= newHashMap();for(Field field:fields){
field.setAccessible(true);//反射方法, 在类声明的外部获取private变量的value需要这个设置,否则会有异常
String key=field.getName();
Object value=field.get(obj);
returnMap.put(key, value);
}
returnList.add(returnMap);
obj= null;
}
}
}
list.clear();//将list置为null不会清除记录,只有clear
returnreturnList;
}catch(Exception e) {
e.printStackTrace();
}returnreturnList;
}public static voidmain(String[] args) {
List list = new ArrayList();
Apple a= newApple();
a.setColor("red");
a.setPrice("11");
Apple a1= newApple();
a1.setColor("blue");
a1.setPrice("12");
list.add(a);
list.add(a1);
List listMap = new ArrayList();
listMap=BeanToMap.changeBean2MapList(list);for(int i = 0; i
System.out.println(obj);
}
}
}
}