java list<> class_java-List<Map<String,String>>转换成List<class<?>>实体类的集合

1   classJavabean1{2 privateString data1;3 privateString data2;4 privateString data3;5 //...

6 }7 classJavabean2{8 privateString data1;9 privateString data2;10 privateString data3;11 //...

12 }13

14 classclassAll{15 privateJavabean1 bean1;16 private Listlistbean2;17 //...

18 }19

20 /**

21 * Map集合对象转化成 JavaBean集合对象22 * classAll有两个属性:1 Javabean1实体类,2 List 实体类的集合23 *@paramjavaBean24 * JavaBean实例对象25 *@parammapList26 * Map数据集对象27 *@return

28 *29 */

30 public static ListlistmapUS(Javabean1 javaBean,31 List>mapList) {32 if (mapList == null ||mapList.isEmpty()) {33 return null;34 }35 List objectList = new ArrayList();36 Javabean1 object = null;37 for(Map map : mapList) {38 classAll infoCargo=newclassAll();39 if (map != null) {40 object =mapBeanUS(javaBean, map);41 infoCargo.SetJavabean1(object);42 if(map.containsKey("omsPickupCargo")){43 //这个map的key值是json的字符串,需要改,不要的话删掉就好

44 infoCargo.setJavabean2(JSONArray.toList(JSONArray.fromObject(map.get("omsPickupCargo")), new OmsPickupCargo(), newJsonConfig()));45 }46 objectList.add(infoCargo);47 }48 }49 returnobjectList;50 }51 /**

52 * Map对象转化成 JavaBean对象53 *54 *@paramjavaBean55 * JavaBean实例对象56 *@parammap57 * Map对象58 *@return

59 *60 */

61 public static Javabean1 mapBeanUS(Javabean1 javaBean, Mapmap) {62 try{63 //获取javaBean属性

64 BeanInfo beanInfo =Introspector.getBeanInfo(javaBean.getClass());65 //创建 JavaBean 对象

66 Javabean1 obj =(Javabean1) javaBean.getClass().newInstance();67 PropertyDescriptor[] propertyDescriptors =beanInfo.getPropertyDescriptors();68 if (propertyDescriptors != null && propertyDescriptors.length > 0) {69 String propertyName = null; //javaBean属性名

70 Object propertyType = null;71 for(PropertyDescriptor pd : propertyDescriptors) {72 propertyName =pd.getName();73 propertyType =pd.getPropertyType();74 if(map.containsKey(propertyName)) {75 if(StringUtils.isEmpty(map.get(propertyName))){76 continue;77 }78 pd.getWriteMethod().invoke(obj, newObject[] { endWitch(propertyType, map.get(propertyName)) });79 }80 }81 returnobj;82 }83 } catch(Exception e) {84 e.printStackTrace();85 }86 return null;87 }88 /**

89 * 按实体类属性数据类型把String类型转换对应的类型90 *@paramobject object属性类型91 *@paramvalue value要转换的值92 *@return

93 *94 */

95 public staticObject endWitch(Object object, String value) {96 if ("".equals(object.toString())|| null ==object.toString()) {97 return null;98 }99 if ("".equals(value) || null ==value) {100 return null;101 }102 if (object.toString().endsWith("Long")) {103 returnLong.parseLong(value);104 }105 if (object.toString().endsWith("Integer")) {106 returnInteger.parseInt(value);107 }108 if (object.toString().endsWith("Double")) {109 returnDouble.parseDouble(value);110 }111 if (object.toString().endsWith("Float")) {112 returnFloat.parseFloat(value);113 }114 if (object.toString().endsWith("Date")) {115 //vaue为毫秒数需要转date格式,可以根据你的需要修改

116 SimpleDateFormat format = newSimpleDateFormat();117 String d =format.format(Long.parseLong(value));118 try{119 Date date =format.parse(d);120 returndate;121 } catch(ParseException e) {122 e.printStackTrace();123 }124 }125 returnvalue;126 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值