在reflect基础上的list和map的转化

来源:互联网 发布:linux mysql是否启动 编辑:程序博客网 时间:2024/06/17 10:30

/**
 * Change the map structure to list and change the list to map structure
 * @author LIUTIANFANG
 * @version 2010-8-16 下午01:16:11
 */
public class MapListUtil {
 /**
  * 将对象类型的数据结构变更为Map类型的数据结构
  * @param
  * @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类型的数据结构变更为list类型的数据结构
  * @param m
  * @return list
  */
 public static List<Object> mapToList(Map<Object,Object> m , Object ob){
  List<Object> list = new ArrayList<Object>();
  for (Iterator<Object> iterator = m.keySet().iterator(); iterator.hasNext();) {
   String o =  String.valueOf(iterator.next());
   ob = ReflectUtil.setFieldValueDefault(ob,  o , Object.class , m.get(o));
  }
  list.add(ob);
  return list;
 }
}

// end

引用的ReflectUtil类地址: http://blog.csdn.net/s445320/article/details/8929415

原创粉丝点击