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转换封装类的方法全部内容了,希望大家多多支持毛票票~