map转bean对象 映射字段,map转换bean工具类
javabean与地图的转换有很多种方式,比如:
1、通过对象映射器先将豆转换为json,再将数据转换为地图,但是这种方法比较绕,且效率很低,经测试,循环转换10000个豆子,就需要12秒!不推荐使用
2、通过爪哇反射,获取豆类的属性和值,再转换到地图对应的键值对中,这种方法次之,但稍微有点麻烦
3、通过net.sf.cglib.beans.BeanMap类中的方法,这种方式效率极高,它跟第二种方式的区别就是因为使用了缓存,初次创建豆时需要初始化,之后就使用缓存,所以速度极快,经测试,循环豆和地图的转换10000次,仅需要300毫秒左右。
所以,推荐第3种方式。以下是相关代码:
/*** 将对象装换为map * @ param bean * @ return */public static MapString,Object bean to map(T bean){ MapString,Object map=maps。new hashmap();如果(豆!=null){ bean map bean map=bean map。创建(bean);for(对象键: bean映射。keyset()){ map。put(key ,bean map。get(key));} }返回图;}/*** 将地图装换为javabean对象* @ param map * @ param bean * @ return */public static T mapToBean(MapString,Object map,T bean){ bean map bean map=bean map。创建(bean);豆子地图。putall(地图);回豆;}/*** 将目录转换为ListMapString,Object * @ param obj List * @ return * @ throws JsonGenerationException * @ throws jsonmappingeexception * @ throws io exception */public static ListMapString,Object objectsToMaps(List obj List){ ListMapString,Object List=lists。new ArrayList();if (objList!=空对象列表。size()0){ MapString,Object map=nullT bean=nullfor(int I=0,size=obj list。size();我尺寸;I){ bean=obj列表。get(I);map=beanToMap(bean);list.add(地图);} }返回列表;}/*** 将ListMapString,对象转换为List * @ param maps * @ param clazz * @ return * @ throws实例化异常* @ throws IllegalAccessException */public静态列表映射对象(List mapstring,Object maps,Class clazz)throws实例化异常,IllegalAccessException { List List=lists。new ArrayList();如果(地图!=null maps.size() 0) {MapString,Object map=nullT bean=nullfor(int I=0,size=maps。size();我尺寸;I){ map=地图。get(I);bean=clazz。新实例();mapToBean(地图,豆);列表。添加(bean);} }返回列表;}到此这篇关于关于爪哇中BeanMap进行对象与地图的相互转换问题的文章就介绍到这了,更多相关BeanMap对象与地图的相互转换内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。