/**
* 把map转成目标实体对象
*
* @param map
* @param obj
*/
public static void transMap2Bean(Map<String, Object> map, Object obj, String[] str) {
try {
BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
String key = property.getName().toString();
for (String name : str) {
if (name.equals(key)) {
Object value = map.get(key);
// 得到property对应的setter方法
Method setter = property.getWriteMethod();
if (value instanceof BigDecimal
|| setter.getParameterTypes()[0].toString().contains("java.math.BigDecimal")) {
setter.invoke(obj, getBigDecimal(value));
} else if (value instanceof Long
|| setter.getParameterTypes()[0].toString().contains("java.lang.Long")) {
setter.invoke(obj, Long.valueOf(String.valueOf(value)));
} else if (value instanceof Boolean
|| setter.getParameterTypes()[0].toString().contains("java.lang.Boolean")) {
setter.invoke(obj, Boolean.valueOf(String.valueOf(value)));
} else if (value instanceof Date
|| setter.getParameterTypes()[0].toString().contains("java.util.Date")) {
setter.invoke(obj, DateUtil.convertStringToDate(value.toString()));
} else if (value instanceof Integer
|| setter.getParameterTypes()[0].toString().contains("java.lang.Integer")) {
setter.invoke(obj, Integer.valueOf(String.valueOf(value)));
} else {
setter.invoke(obj, value);
}
break;
}
}
/*
* if (map.containsKey(key) && !"class".equals(key)) {
*
* }
*/
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("transMap2Bean Error " + e);
}
return;
}
botao555
相关分类