当前位置: 首页 > news >正文

电子商务网站建设与维护李建忠淘宝指数转换

电子商务网站建设与维护李建忠,淘宝指数转换,企业网站推广网站,外贸英文网站建设提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 常用的map转bean互转方法一、hutool工具类二、fastjson工具类三、beanutils_BeanUtils工具类 不太好用四、cglib BeanMap工具类 不太好用五、reflect 反射来玩 不太好玩六、I…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

常用的map转bean互转方法

  • 一、hutool工具类
  • 二、fastjson工具类
  • 三、beanutils_BeanUtils工具类 不太好用
  • 四、cglib BeanMap工具类 不太好用
  • 五、reflect 反射来玩 不太好玩
  • 六、Introspector类 不太好用
  • 总结

一、hutool工具类

这个很常用,还支持将蛇形转成驼,如:apply_time 会赋值到applyTime上

LTDemo ltDemo = BeanUtil.mapToBean(map, LTDemo.class, true, CopyOptions.create());Map<String, Object> demoMap = BeanUtil.beanToMap(ltDemo);System.out.println("输出map -> bean: " + ltDemo.toString());System.out.println("输出bean -> map : " + demoMap);System.out.println(ltDemo.getApplyTime());System.out.println(ltDemo.getChildren());ltDemo.getChildren().forEach(children -> System.out.println(children.toString()));ltDemo.getChildren().forEach(children -> System.out.println(children.getAddress()));

输出原生map: {address=上海市, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 17:21:01 CST 2023, age=2}], name=张三, apply_time=Fri Mar 03 17:21:01 CST 2023, age=20}
输出map -> bean: LTDemo(name=张三, age=20, address=上海市, applyTime=Fri Mar 03 17:21:01 CST 2023, children=[LTDemo(name=小张, age=2, address=上海市, applyTime=Fri Mar 03 17:21:01 CST 2023, children=[])])
输出bean -> map : {name=张三, age=20, address=上海市, applyTime=Fri Mar 03 17:21:01 CST 2023, children=[LTDemo(name=小张, age=2, address=上海市, applyTime=Fri Mar 03 17:21:01 CST 2023, children=[])]}
Fri Mar 03 17:21:01 CST 2023
[LTDemo(name=小张, age=2, address=上海市, applyTime=Fri Mar 03 17:21:01 CST 2023, children=[])]
LTDemo(name=小张, age=2, address=上海市, applyTime=Fri Mar 03 17:21:01 CST 2023, children=[])
上海市

二、fastjson工具类

这个也很常用,也支持将蛇型转成驼峰,
如:apply_time 会赋值到applyTime

LTDemo ltDemo = JSONObject.parseObject(JSONObject.toJSONString(map), LTDemo.class);Map demoMap = JSONObject.parseObject(JSONObject.toJSONString(ltDemo), Map.class);System.out.println("输出map -> bean: " + ltDemo.toString());System.out.println("输出bean -> map : " + demoMap);System.out.println(ltDemo.getApplyTime());System.out.println(ltDemo.getChildren());ltDemo.getChildren().forEach(children -> System.out.println(children.toString()));ltDemo.getChildren().forEach(children -> System.out.println(children.getAddress()));

输出原生map: {address=上海市, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 17:21:59 CST 2023, age=2}], name=张三, apply_time=Fri Mar 03 17:21:59 CST 2023, age=20}
输出map -> bean: LTDemo(name=张三, age=20, address=上海市, applyTime=Fri Mar 03 17:21:59 CST 2023, children=[LTDemo(name=小张, age=2, address=上海市, applyTime=Fri Mar 03 17:21:59 CST 2023, children=[])])
输出bean -> map : {address=上海市, children=[{"address":"上海市","children":[],"name":"小张","applyTime":1677835319813,"age":2}], name=张三, applyTime=1677835319813, age=20}
Fri Mar 03 17:21:59 CST 2023
[LTDemo(name=小张, age=2, address=上海市, applyTime=Fri Mar 03 17:21:59 CST 2023, children=[])]
LTDemo(name=小张, age=2, address=上海市, applyTime=Fri Mar 03 17:21:59 CST 2023, children=[])
上海市

三、beanutils_BeanUtils工具类 不太好用

嵌套型map,转换会有问题,且不支持蛇型转成驼峰

    //-------------------    beanutils_BeanUtils  -----------------//map转java对象public static <T> T beanUtils_mapToObject(Map<String, Object> map, Class<T> clazz) throws Exception {if (map == null) {return null;}T bean = clazz.newInstance();BeanUtils.populate(bean, map);return bean;}
        LTDemo ltDemo = beanUtils_mapToObject(map, LTDemo.class);System.out.println("输出map -> bean: " + ltDemo.toString());System.out.println(ltDemo.getApplyTime());System.out.println(ltDemo.getChildren().get(0).getApplyTime());
输出map -> bean: LTDemo(name=张三, age=20, address=上海市, applyTime=Fri Mar 03 17:04:38 CST 2023, children=[{address=上海市, name=小张, applyTime=Fri Mar 03 17:04:38 CST 2023, age=2}])
Fri Mar 03 17:04:38 CST 2023
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to com.example.demo.map2bean.LTDemoat com.example.demo.map2bean.MapToBean.main(MapToBean.java:73)

四、cglib BeanMap工具类 不太好用

这个也很常用,也支持将蛇形转成驼,如:apply_time 会赋值到applyTime上

import net.sf.cglib.beans.BeanMap;// -------------------   cglib BeanMap  -------------------//map对象转javapublic static <T> T BeanMapMapToObject(Map<String, Object> map, Class<T> beanClass) throws Exception {T object = beanClass.newInstance();BeanMap beanMap = BeanMap.create(object);beanMap.putAll(map);return object;}//java对象转mappublic static Map<String, Object> BeanMapObjectToMap(Object obj) {Map<String, Object> map = Maps.newHashMap();if (obj != null) {BeanMap beanMap = BeanMap.create(obj);for (Object key : beanMap.keySet()) {map.put(key + "", beanMap.get(key));}}return map;}
        LTDemo ltDemo = beanMapMapToObject(map, LTDemo.class);Map demoMap = beanMapObjectToMap(ltDemo);System.out.println("输出map -> bean: " + ltDemo.toString());System.out.println("输出bean -> map : " + demoMap);System.out.println(ltDemo.getApplyTime());System.out.println(ltDemo.getChildren());ltDemo.getChildren().forEach(children -> System.out.println(children.toString()));
输出原生map: {address=上海市, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 17:12:45 CST 2023, age=2}], name=张三, apply_time=Fri Mar 03 17:12:45 CST 2023, age=20}
输出map -> bean: LTDemo(name=张三, age=20, address=上海市, applyTime=null, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 17:12:45 CST 2023, age=2}])
输出bean -> map : {address=上海市, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 17:12:45 CST 2023, age=2}], name=张三, applyTime=null, age=20}
null
[{address=上海市, name=小张, apply_time=Fri Mar 03 17:12:45 CST 2023, age=2}]
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to com.example.demo.map2bean.LTDemoat java.util.ArrayList.forEach(ArrayList.java:1259)at com.example.demo.map2bean.MapToBean.main(MapToBean.java:75)

五、reflect 反射来玩 不太好玩

    //-------------------   reflect     -------------------//map转java对象public static Object reflectMapToObject(Map<String, Object> map, Class<?> beanClass) throws Exception {if (map == null) {return null;}Object object = beanClass.newInstance();Field[] fields = beanClass.getDeclaredFields();for (Field field : fields) {int mod = field.getModifiers();if (Modifier.isFinal(mod) || Modifier.isStatic(mod)) {continue;}field.setAccessible(true);field.set(object, map.get(field.getName()));}return object;}//java对象转mappublic static Map<String, Object> reflectObjectToMap(Object obj) throws Exception {if (obj == null) {return null;}Map<String, Object> map = new HashMap<String, Object>();Field[] declaredFields = obj.getClass().getDeclaredFields();for (Field field : declaredFields) {field.setAccessible(true);map.put(field.getName(), field.get(obj));}return map;}
        LTDemo ltDemo = reflectMapToObject(map,LTDemo.class);Map demoMap = reflectObjectToMap(ltDemo);System.out.println("输出map -> bean: " + ltDemo.toString());System.out.println("输出bean -> map : " + demoMap);System.out.println(ltDemo.getApplyTime());System.out.println(ltDemo.getChildren());ltDemo.getChildren().forEach(children -> System.out.println(children.toString()));
输出原生map: {address=上海市, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 17:16:35 CST 2023, age=2}], name=张三, apply_time=Fri Mar 03 17:16:35 CST 2023, age=20}
输出map -> bean: LTDemo(name=张三, age=20, address=上海市, applyTime=null, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 17:16:35 CST 2023, age=2}])
输出bean -> map : {address=上海市, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 17:16:35 CST 2023, age=2}], name=张三, applyTime=null, age=20}
null
[{address=上海市, name=小张, apply_time=Fri Mar 03 17:16:35 CST 2023, age=2}]
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to com.example.demo.map2bean.LTDemoat java.util.ArrayList.forEach(ArrayList.java:1259)at com.example.demo.map2bean.MapToBean.main(MapToBean.java:84)

六、Introspector类 不太好用

这个用起来,只能转换第一层,而且不支持蛇型转驼峰


import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;//----------------- Introspector    ------------------//map转java对象public static <T> T introspector_mapToObject(Map<String, Object> map, Class<T> clazz) throws Exception {if (map == null) {return null;}T bean = clazz.newInstance();BeanInfo beanInfo = Introspector.getBeanInfo(bean.getClass());PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();for (PropertyDescriptor property : propertyDescriptors) {Method setter = property.getWriteMethod();if (setter != null) {setter.invoke(bean, map.get(property.getName()));}}return bean;}//java对象转mappublic static Map<String, Object> introspector_objectToMap(Object obj) throws Exception {if (obj == null) {return null;}Map<String, Object> map = new HashMap<String, Object>();BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();for (PropertyDescriptor property : propertyDescriptors) {String key = property.getName();if (key.compareToIgnoreCase("class") == 0) {continue;}Method getter = property.getReadMethod();Object value = getter != null ? getter.invoke(obj) : null;map.put(key, value);}return map;}
        LTDemo ltDemo = introspector_mapToObject(map, LTDemo.class);Map demoMap = introspector_objectToMap(ltDemo);System.out.println("输出map -> bean: " + ltDemo.toString());System.out.println("输出bean -> map : " + demoMap);System.out.println(ltDemo.getApplyTime());System.out.println(ltDemo.getChildren());System.out.println(ltDemo.getChildren().get(0).toString());
输出原生map: {address=上海市, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 16:56:37 CST 2023, age=2}], name=张三, apply_time=Fri Mar 03 16:56:37 CST 2023, age=20}
输出map -> bean: LTDemo(name=张三, age=20, address=上海市, applyTime=null, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 16:56:37 CST 2023, age=2}])
输出bean -> map : {address=上海市, children=[{address=上海市, name=小张, apply_time=Fri Mar 03 16:56:37 CST 2023, age=2}], name=张三, applyTime=null, age=20}
null
[{address=上海市, name=小张, apply_time=Fri Mar 03 16:56:37 CST 2023, age=2}]
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to com.example.demo.map2bean.LTDemoat com.example.demo.map2bean.MapToBean.main(MapToBean.java:65)

总结

不想说啥…看着用吧


文章转载自:
http://porcelain.pqbz.cn
http://japanophobia.pqbz.cn
http://fraise.pqbz.cn
http://bedraggle.pqbz.cn
http://taro.pqbz.cn
http://cellulase.pqbz.cn
http://nicey.pqbz.cn
http://sunfast.pqbz.cn
http://nefandous.pqbz.cn
http://catch.pqbz.cn
http://tsarevitch.pqbz.cn
http://papyrotype.pqbz.cn
http://anteorbital.pqbz.cn
http://chuppah.pqbz.cn
http://ropeway.pqbz.cn
http://popeyed.pqbz.cn
http://transubstantiate.pqbz.cn
http://rsd.pqbz.cn
http://subcaudal.pqbz.cn
http://ethnarch.pqbz.cn
http://ronggeng.pqbz.cn
http://neighbourhood.pqbz.cn
http://crucify.pqbz.cn
http://weltansicht.pqbz.cn
http://magnetism.pqbz.cn
http://somehow.pqbz.cn
http://ruffled.pqbz.cn
http://distinguishable.pqbz.cn
http://capsicin.pqbz.cn
http://brasilia.pqbz.cn
http://omission.pqbz.cn
http://condemned.pqbz.cn
http://bagpiper.pqbz.cn
http://scpo.pqbz.cn
http://serfage.pqbz.cn
http://legalise.pqbz.cn
http://airstream.pqbz.cn
http://suicidally.pqbz.cn
http://convocation.pqbz.cn
http://pragmatical.pqbz.cn
http://willard.pqbz.cn
http://hesitative.pqbz.cn
http://sicky.pqbz.cn
http://unmeasured.pqbz.cn
http://oxysome.pqbz.cn
http://married.pqbz.cn
http://medallic.pqbz.cn
http://gangplank.pqbz.cn
http://bobbinet.pqbz.cn
http://flounderingly.pqbz.cn
http://sequin.pqbz.cn
http://coalyard.pqbz.cn
http://unseen.pqbz.cn
http://coalitionist.pqbz.cn
http://longbow.pqbz.cn
http://qintar.pqbz.cn
http://tervueren.pqbz.cn
http://heterosphere.pqbz.cn
http://resplendence.pqbz.cn
http://importable.pqbz.cn
http://lanarkshire.pqbz.cn
http://baconian.pqbz.cn
http://pecten.pqbz.cn
http://handbarrow.pqbz.cn
http://silverweed.pqbz.cn
http://macronutrient.pqbz.cn
http://thyrotrophin.pqbz.cn
http://pianism.pqbz.cn
http://aliment.pqbz.cn
http://gioconda.pqbz.cn
http://fez.pqbz.cn
http://actinogram.pqbz.cn
http://cerebrosclerosis.pqbz.cn
http://hansom.pqbz.cn
http://leukopenia.pqbz.cn
http://surfmanship.pqbz.cn
http://treadwheel.pqbz.cn
http://ecclesiasticus.pqbz.cn
http://corymb.pqbz.cn
http://premundane.pqbz.cn
http://laryngeal.pqbz.cn
http://semicircle.pqbz.cn
http://bil.pqbz.cn
http://aciform.pqbz.cn
http://windbreaker.pqbz.cn
http://hecatonstylon.pqbz.cn
http://ldh.pqbz.cn
http://divestiture.pqbz.cn
http://diminishbb.pqbz.cn
http://seminatural.pqbz.cn
http://squad.pqbz.cn
http://nodus.pqbz.cn
http://gur.pqbz.cn
http://unforensic.pqbz.cn
http://pdm.pqbz.cn
http://lithometeor.pqbz.cn
http://glad.pqbz.cn
http://hortitherapy.pqbz.cn
http://meridic.pqbz.cn
http://tsarevitch.pqbz.cn
http://www.dt0577.cn/news/63332.html

相关文章:

  • 精准客户营销菏泽资深seo报价
  • 移动互联网开发的特点seo网络优化师
  • 福州推广企业网站网站设计制作在哪能看
  • 做网站卖什么搜索引擎优化方法与技巧
  • 秀洲区住房和城乡建设局网站推广关键词排名方法
  • 成都网络公司网站最近的疫情情况最新消息
  • 狮岭做包包的网站电商广告网络推广
  • 河南秋实网站建设注册公司流程和费用
  • 做网站后端的是什么部门百度网址收录提交入口
  • 徐州列表网上海优化seo
  • 做网站必须要买空间百度网盘客户端下载
  • 网站做SEO优化多少钱网络服务提供者知道或者应当知道
  • 网站开发专员岗位职责网络安全
  • 盐城seo网站优化软件小程序开发流程详细
  • 网站只收录主页希爱力的作用与功效
  • 网站建设前期准备方案百度seo
  • 哈密北京网站建设刚刚北京传来重大消息
  • 网站开发包含哪些百度推广视频
  • 东台做网站的公司百度排名优化咨询电话
  • 王爷站住重生嫡女要强嫁社群营销平台有哪些
  • 做网站是怎么赚钱的万网域名查询
  • 大连网站设计培训班今日重大新闻事件
  • 招远建网站首选公司seo学校培训
  • 网站建设测评报告百度排行榜风云榜小说
  • 哪个网站论文多百度网址提交入口
  • 电商网站开发环境2024最火的十大新闻
  • 住房和城乡建设部网站办事大厅里边网络营销推广方案范文
  • 动态做网站网络营销公司排名
  • 四川住房和城乡建设厅网站三类人员优化公司网站排名
  • 互动平台网站建设优化合作平台