javabean與map的轉換有很多種方式,例如:
1、透過ObjectMapper先將bean轉換為json,再將json轉換為map,但是這種方法比較繞,且效率很低,經過測試,循環轉換10000個bean,就需要12秒! ! !不建議使用
2、透過Java反射,取得bean類別的屬性和值,再轉換到map對應的鍵值對中,這種方法次之,但稍微有點麻煩
# 3.透過net.sf.cglib.beans.BeanMap類別中的方法,這種方式效率極高,它跟第二種方式的區別就是因為使用了緩存,初次創建bean時需要初始化,之後就使用緩存,所以速度極快,經測試,循環bean和map的轉換10000次,只需300毫秒左右。
所以,推薦第3種方式。以下是相關程式碼:
/**
* 将对象装换为map
* @param bean
* @return
*/
public static Map beanToMap(T bean) {
Map map = Maps.newHashMap();
if (bean != null) {
BeanMap beanMap = BeanMap.create(bean);
for (Object key : beanMap.keySet()) {
map.put(key+"", beanMap.get(key));
}
}
return map;
}
/**
* 将map装换为javabean对象
* @param map
* @param bean
* @return
*/
public static T mapToBean(Map map,T bean) {
BeanMap beanMap = BeanMap.create(bean);
beanMap.putAll(map);
return bean;
}
/**
* 将List转换为List
登入後複製
以上是Java中將物件與Map相互轉換的實作方式 - 使用BeanMap的詳細內容。更多資訊請關注PHP中文網其他相關文章!