Java编程之Map与Java bean之间的转换工具类,用于java.util.Map与普通javabean直接的相互转换
工具代码清单:
MapUtils.java:
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class MapUtils {
/**
* javaBean 转 Map
*
* @param object
* 需要转换的javabean
* @return 转换结果map
* @throws Exception
*/
public static Map<String, Object> beanToMap(Object object) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
@SuppressWarnings("rawtypes")
Class cls = object.getClass();
Field[] fields = cls.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
map.put(field.getName(), field.get(object));
}
return map;
}
/**
*
* @param map
* 需要转换的map
* @param cls
* 目标javaBean的类对象
* @return 目标类object
* @throws Exception
*/
public static Object mapToBean(Map<String, Object> map, @SuppressWarnings("rawtypes") Class cls) throws Exception {
Object object = cls.newInstance();
for (String key : map.keySet()) {
Field temFiels = cls.getDeclaredField(key);
temFiels.setAccessible(true);
temFiels.set(object, map.get(key));
}
return object;
}
}
利用了Java语言的反射机制
http://blog.xqlee.com/article/147.html