java list<> class_java-List>转换成List>实体类的集合

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 }


版权声明:本文为weixin_29796903原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。