java中如何实现一个map和Bean之间互相转换呢?

java-教程王 Java经验 发布时间:2022-04-09 07:17:40 阅读数:16183 1
下文笔者将讲述使用java代码实现map和bean的相互转换的方法分享,如下所示

map 转换为 bean
    //map转换为Bean
    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;
    }
bean转换为map
 //Bean转换为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;
    }
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202204/16494599202793.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者