JavaBean和Map转换封装类的方法
实例如下:
packagecom.ljq.util; importjava.beans.BeanInfo; importjava.beans.Introspector; importjava.beans.PropertyDescriptor; importjava.lang.reflect.Method; importjava.util.ArrayList; importjava.util.HashMap; importjava.util.List; importjava.util.Map; /** *Map工具类 * *@authorjqlin */ publicclassMapUtils{ /** *从map集合中获取属性值 * *@param<E> *@parammap *map集合 *@paramkey *键对 *@paramdefaultValue *默认值 *@return *@authorjiqinlin */ @SuppressWarnings({"unchecked","rawtypes"}) publicfinalstatic<E>Eget(Mapmap,Objectkey,EdefaultValue){ Objecto=map.get(key); if(o==null) returndefaultValue; return(E)o; } /** *Map集合对象转化成JavaBean集合对象 * *@paramjavaBeanJavaBean实例对象 *@parammapListMap数据集对象 *@return *@authorjqlin */ @SuppressWarnings({"rawtypes"}) publicstatic<T>List<T>map2Java(TjavaBean,List<Map>mapList){ if(mapList==null||mapList.isEmpty()){ returnnull; } List<T>objectList=newArrayList<T>(); Tobject=null; for(Mapmap:mapList){ if(map!=null){ object=map2Java(javaBean,map); objectList.add(object); } } returnobjectList; } /** *Map对象转化成JavaBean对象 * *@paramjavaBeanJavaBean实例对象 *@parammapMap对象 *@return *@authorjqlin */ @SuppressWarnings({"rawtypes","unchecked","hiding"}) publicstatic<T>Tmap2Java(TjavaBean,Mapmap){ try{ //获取javaBean属性 BeanInfobeanInfo=Introspector.getBeanInfo(javaBean.getClass()); //创建JavaBean对象 Objectobj=javaBean.getClass().newInstance(); PropertyDescriptor[]propertyDescriptors=beanInfo.getPropertyDescriptors(); if(propertyDescriptors!=null&&propertyDescriptors.length>0){ StringpropertyName=null;//javaBean属性名 ObjectpropertyValue=null;//javaBean属性值 for(PropertyDescriptorpd:propertyDescriptors){ propertyName=pd.getName(); if(map.containsKey(propertyName)){ propertyValue=map.get(propertyName); pd.getWriteMethod().invoke(obj,newObject[]{propertyValue}); } } return(T)obj; } }catch(Exceptione){ e.printStackTrace(); } returnnull; } /** *JavaBean对象转化成Map对象 * *@paramjavaBean *@return *@authorjqlin */ @SuppressWarnings({"rawtypes","unchecked"}) publicstaticMapjava2Map(ObjectjavaBean){ Mapmap=newHashMap(); try{ //获取javaBean属性 BeanInfobeanInfo=Introspector.getBeanInfo(javaBean.getClass()); PropertyDescriptor[]propertyDescriptors=beanInfo.getPropertyDescriptors(); if(propertyDescriptors!=null&&propertyDescriptors.length>0){ StringpropertyName=null;//javaBean属性名 ObjectpropertyValue=null;//javaBean属性值 for(PropertyDescriptorpd:propertyDescriptors){ propertyName=pd.getName(); if(!propertyName.equals("class")){ MethodreadMethod=pd.getReadMethod(); propertyValue=readMethod.invoke(javaBean,newObject[0]); map.put(propertyName,propertyValue); } } } }catch(Exceptione){ e.printStackTrace(); } returnmap; } }
以上就是小编为大家带来的JavaBean和Map转换封装类的方法全部内容了,希望大家多多支持毛票票~