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;
}
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;
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序