/**
* Change the map structure to list and change the list to map structure
* @author LIUTIANFANG
* @version 2011-8-16 下午01:16:11
*/
public class MapObjectUtil {
/**
* 将对象类型的数据结构变更为Map类型的数据结�?
* @param Object
* @return Map
*/
public static Map<Object,Object> objectToMap(Object o){
Map<Object, Object> map = new HashMap<Object, Object>();
Class a = o.getClass();
Field[] fs = a.getDeclaredFields();
for (int i = 0; i < fs.length; i++) {
map.put(fs[i].getName(), ReflectUtil.getFieldValue(o, fs[i].getName(), Object.class));
}
return map;
}
/**
* 将map类型的数据结构变更为object类型的数据结�?
* @param Map<Object,Object>
* @return Object
*/
public static Object mapToObject(Map<Object,Object> m , Object ob){
for (Iterator iterator = m.entrySet().iterator(); iterator.hasNext();) {
Entry o = (Entry) iterator.next();
ReflectUtil.setFieldValue(ob, (String) o.getKey() , Object.class , o.getValue());
}
return ob;
}
/**
* 将map类型的数据结构变更为object类型的数据结构(忽略大小写)
* @param Map<Object,Object>
* @return Object
*/
public static Object mapToObjectDefault(Map<Object,Object> m , Object ob){
for (Iterator iterator = m.entrySet().iterator(); iterator.hasNext();) {
Entry o = (Entry) iterator.next();
ReflectUtil.setFieldValueDefault(ob, (String) o.getKey() , Object.class , o.getValue());
}
return ob;
}
}
// end
引用的ReflectUtil类地址: http://my.oschina.net/lus/blog/117756