读书人

Map跟Bean的相互转换

发布时间: 2012-08-31 12:55:03 作者: rapoo

Map和Bean的相互转换

?不多说了,直接上代码,以下内容实现限制,javaBean必须在一个单独的文件中,并且Bean要为public的。【这里需要依赖apache的commons-beanutils-1.7.0.jar】

转换类:

?

import java.lang.reflect.InvocationTargetException;import java.util.Map;import org.apache.commons.beanutils.BeanUtils;public class test {public static void main(String[] args) {Person person1=new Person();person1.setName("name1");person1.setSex("sex1");Map<String, String> map=null;try {map = BeanUtils.describe(person1);//=============Bean转换成Map=======================//System.out.println(map.size()+">>>>>>>>>>>");} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();} catch (NoSuchMethodException e) {// TODO Auto-generated catch blocke.printStackTrace();}Person person=test.map2Bean(map, Person.class);System.out.println(person.getName());}/** *  *  * Map转换层Bean,使用泛型免去了类型转换的麻烦。 * @param <T> * @param map   * @param class1 * @return */public static <T> T map2Bean(Map<String, String> map, Class<T> class1) {T bean = null;try {bean = class1.newInstance();BeanUtils.populate(bean, map);} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}return bean;}}

?

目标转换Bean类。

?

public class Person {public Person() {}private String name;private String sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}}
?

?

?

读书人网 >编程

热点推荐