首页 > 编程知识 正文

map转换bean工具类,将map转换为对象

时间:2023-05-06 14:47:14 阅读:179651 作者:3340

javabean和map的转换有很多方法,例如:

1、通过对象映射器将bean转换为json,然后再将json转换为map,这种方法较为繁琐,效率较低。 经过测试,循环变换10000个bean需要12秒! 呃! 呃! 不推荐

2、通过Java反射,获取bean类的属性和值并将其转换为对应于map的键值对的方法次之,但有点麻烦

3、通过net.sf.cglib.beans.BeanMap类的方法。 这个方式非常有效率。 与第二种方式的不同之处在于,因为使用缓存,首次创建bean时需要初始化,然后使用缓存,速度非常快,经过测试,bean和map的转换只需要10000次循环,只需要300毫秒

所以,我推荐第三种方式。 相关代码如下。

//*

*用地图替换对象

* @param bean

* @return

*/

公共静态映射,objectbeantomap{

MapString,Object map=Maps.newHashMap (;

豆豆!=null ) {

bean mapbean map=bean map.create (bean;

对象密钥: bean map.keyset () () ) ) ) )。

map.put(key ',beanmap.get ) key );

() ) ) ) )。

() ) ) ) )。

返回地图;

() ) ) ) )。

//*

将map替换为javabean对象

* @param map

* @param bean

* @return

*/

publicstatictmaptobean (mapstring,Object map,T bean ) {

bean mapbean map=bean map.create (bean;

beanmap.putall(map;

返回bean;

() ) ) ) )。

//*

将列表转换为列表映射,对象

* @param objList

* @return

* @ throwsjsongenerationexception

* @throws JsonMappingException

* @throws IOException

*/

公共静态列表映射,objectobjectstomaps{

ListMapString,Object list=Lists.newArrayList (;

if(objlist!=null objList.size ()0) {

映射,Object map=null;

T bean=null;

for(intI=0,size=objList.size ); i size; I ) {

bean=objlist.get(I;

map=beantomap(bean;

list.add(map;

() ) ) ) )。

() ) ) ) )。

返回列表;

() ) ) ) )。

//*

将列表映射,对象转换为列表

* @param maps

* @param clazz

* @return

* @throws InstantiationException

* @throws IllegalAccessException

*/

publicstatictlisttmapstoobjects (listmaps tring,Object maps,ClassT clazz ) throws InstantiationException,illlegalacccesssexcepepteption

ListT list=Lists.newArrayList (;

if (地图!=nullmaps.size(0) {

映射,Object map=null;

T bean=null;

for(intI=0,size=maps.size ); i size; I ) {

map=maps.get(I;

bean=clazz.newInstance (;

maptobean(map,bean;

list.add(bean );

() ) ) ) )。

() ) ) ) )。

返回列表;

() ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。