話不多說,代碼如下
package com.study;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
/**
* PackageName com.study
* Description please write description.
* User: yh
* Time: 2016/11/29 16:57
*/
public class mapUtil
{
/**
* 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>();
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, 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;
}
}
