javaBean与map互转

博客当笔记用、挺好。

1、map转javabean


    //map转javaBean
    public static <T>  T mapTobean(Map<String,Object> beanMap, Class<T> beanType) throws Exception {
        T obj = beanType.newInstance();

        BeanInfo beanInfo = Introspector.getBeanInfo(beanType, Object.class);
        PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
        for (PropertyDescriptor pd : pds) {
            String  propertyName = pd.getName();//属性名
            Object propertyValue = beanMap.get(propertyName);//属性值
            pd.getWriteMethod().invoke(obj,propertyValue);
        }
        return obj;
    }

2、javaBean转map

 //javaBean转Map
    public static Map<String,Object> beanToMap(Object bean) throws Exception {
        Map<String,Object> map = new HashMap<String, Object>();
        BeanInfo beanInfo = Introspector.getBeanInfo(bean.getClass(),Object.class);//获取Bean中属性名和属性值
        PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();//获取属性描述对象数组
        for (PropertyDescriptor pd : pds) {
            String propertyName = pd.getName();//属性名
            Object propertyValue = pd.getReadMethod().invoke(bean);//调用该属性的get方法
            map.put(propertyName, propertyValue);
        }
        return map;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值