您的位置:首页 > 编程语言 > Java开发

java map转bean

2016-08-04 11:17 260 查看
public
static Object convertMap(Class
type,
Map map)  

            throws
IntrospectionException, IllegalAccessException,  

            InstantiationException, InvocationTargetException {  

        BeanInfo
beanInfo = Introspector.getBeanInfo(type);
// 获取类属性  

        Object obj =
type.newInstance(); // 创建 JavaBean 对象  

  

        // 给 JavaBean 对象的属性赋值  

        PropertyDescriptor[]
propertyDescriptors =  beanInfo.getPropertyDescriptors();  

        for (int
i = 0; i<
propertyDescriptors.length; i++) {  

            PropertyDescriptor
descriptor = propertyDescriptors[i];  

            String propertyName =
descriptor.getName();  

            System.out.println(propertyName);

            if (map.containsKey(propertyName)) {  

                // 下面一句可以 try 起来,这样当一个属性赋值失败的时候就不会影响其他属性赋值。  

                Object value =
map.get(propertyName);  

  

                Object[] args =
new Object[1];  

                args[0] =
value;  

  

                descriptor.getWriteMethod().invoke(obj,
args);  

            }  

        }  

        return
obj;  

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息