JavaBean和Map转换封装类的方法
程序员文章站
2024-03-13 08:21:21
实例如下:
package com.ljq.util;
import java.beans.beaninfo;
import java.beans.int...
实例如下:
package com.ljq.util; import java.beans.beaninfo; import java.beans.introspector; import java.beans.propertydescriptor; import java.lang.reflect.method; import java.util.arraylist; import java.util.hashmap; import java.util.list; import java.util.map; /** * map工具类 * * @author jqlin */ public class maputils { /** * 从map集合中获取属性值 * * @param <e> * @param map * map集合 * @param key * 键对 * @param defaultvalue * 默认值 * @return * @author jiqinlin */ @suppresswarnings({ "unchecked", "rawtypes" }) public final static <e> e get(map map, object key, e defaultvalue) { object o = map.get(key); if (o == null) return defaultvalue; return (e) o; } /** * map集合对象转化成 javabean集合对象 * * @param javabean javabean实例对象 * @param maplist map数据集对象 * @return * @author jqlin */ @suppresswarnings({ "rawtypes" }) public static <t> list<t> map2java(t javabean, list<map> maplist) { if(maplist == null || maplist.isempty()){ return null; } list<t> objectlist = new arraylist<t>(); t object = null; for(map map : maplist){ if(map != null){ object = map2java(javabean, map); objectlist.add(object); } } return objectlist; } /** * map对象转化成 javabean对象 * * @param javabean javabean实例对象 * @param map map对象 * @return * @author jqlin */ @suppresswarnings({ "rawtypes","unchecked", "hiding" }) public static <t> t map2java(t javabean, map map) { try { // 获取javabean属性 beaninfo beaninfo = introspector.getbeaninfo(javabean.getclass()); // 创建 javabean 对象 object obj = javabean.getclass().newinstance(); propertydescriptor[] propertydescriptors = beaninfo.getpropertydescriptors(); if (propertydescriptors != null && propertydescriptors.length > 0) { string propertyname = null; // javabean属性名 object propertyvalue = null; // javabean属性值 for (propertydescriptor pd : propertydescriptors) { propertyname = pd.getname(); if (map.containskey(propertyname)) { propertyvalue = map.get(propertyname); pd.getwritemethod().invoke(obj, new object[] { propertyvalue }); } } return (t) obj; } } catch (exception e) { e.printstacktrace(); } return null; } /** * javabean对象转化成map对象 * * @param javabean * @return * @author jqlin */ @suppresswarnings({ "rawtypes", "unchecked" }) public static map java2map(object javabean) { map map = new hashmap(); try { // 获取javabean属性 beaninfo beaninfo = introspector.getbeaninfo(javabean.getclass()); propertydescriptor[] propertydescriptors = beaninfo.getpropertydescriptors(); if (propertydescriptors != null && propertydescriptors.length > 0) { string propertyname = null; // javabean属性名 object propertyvalue = null; // javabean属性值 for (propertydescriptor pd : propertydescriptors) { propertyname = pd.getname(); if (!propertyname.equals("class")) { method readmethod = pd.getreadmethod(); propertyvalue = readmethod.invoke(javabean, new object[0]); map.put(propertyname, propertyvalue); } } } } catch (exception e) { e.printstacktrace(); } return map; } }
以上就是小编为大家带来的javabean和map转换封装类的方法全部内容了,希望大家多多支持~