亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中BeanMap怎么實現對象與Map相互轉換

發布時間:2022-03-25 19:33:50 來源:億速云 閱讀:516 作者:iii 欄目:開發技術

這篇文章主要介紹“Java中BeanMap怎么實現對象與Map相互轉換”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java中BeanMap怎么實現對象與Map相互轉換”文章能幫助大家解決問題。

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<String, Object> beanToMap(T bean) {
Map<String, Object> 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<String, Object> map,T bean) {
BeanMap beanMap = BeanMap.create(bean);
beanMap.putAll(map);
return bean;
}

/**
* 將List轉換為List<Map<String, Object>>
* @param objList
* @return
* @throws JsonGenerationException
* @throws JsonMappingException
* @throws IOException
*/
public static List<Map<String, Object>> objectsToMaps(List objList) {
List<Map<String, Object>> list = Lists.newArrayList();
if (objList != null && objList.size() > 0) {
Map<String, Object> map = null;
T bean = null;
for (int i = 0,size = objList.size(); i < size; i++) {
bean = objList.get(i);
map = beanToMap(bean);
list.add(map);
}
}
return list;
}

/**
* 將List<Map<String,Object>>轉換為List
* @param maps
* @param clazz
* @return
* @throws InstantiationException
* @throws IllegalAccessException
*/
public static List mapsToObjects(List<Map<String, Object>> maps,Class clazz) throws InstantiationException, IllegalAccessException {
List list = Lists.newArrayList();
if (maps != null && maps.size() > 0) {
Map<String, Object> map = null;
T bean = null;
for (int i = 0,size = maps.size(); i < size; i++) {
map = maps.get(i);
bean = clazz.newInstance();
mapToBean(map, bean);
list.add(bean);
}
}
return list;
}

關于“Java中BeanMap怎么實現對象與Map相互轉換”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

会宁县| 黄冈市| 积石山| 灌阳县| 会泽县| 陆丰市| 沈阳市| 峨边| 五指山市| 正阳县| 清水河县| 香格里拉县| 凤冈县| 岫岩| 西乌珠穆沁旗| 中江县| 绿春县| 肇源县| 奉新县| 柳江县| 白玉县| 株洲县| 临泉县| 长子县| 九龙城区| 彭阳县| 永济市| 西盟| 乐业县| 克东县| 金塔县| 泗洪县| 板桥市| 尤溪县| 思茅市| 海盐县| 来宾市| 天峻县| 建湖县| 乐陵市| 大新县|