使用反射将map转为对象,如果不使用反射的话需要一个get一个set写起来麻烦,并且不通用,所以写了一个通用的方法将map集合转为对象,直接看代码,注释也都挺清楚的
public static T map2Object(Map map, Class clazz) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (map == null) {
return null;
}
T obj = null;
try {
// 使用newInstance来创建对象
obj = ();
// 获取类中的所有字段
Field[] fields = ().getDeclaredFields();
for (Field field : fields) {
int mod = ();
// 判断是拥有某个修饰符
if ((mod) || (mod)) {
continue;
}
// 当字段使用private修饰时,需要加上
(true);
// 获取参数类型名字
String filedTypeName = ().getName();
// 判断是否为时间类型,使用equalsIgnoreCase比较字符串,不区分大小写
// 给obj的属性赋值
if (("")) {
String datetimestamp = (String) (());
if (("null")) {
(obj, null);
} else {
(obj, (datetimestamp));
}
} else {
(obj, (()));
}
}
} catch (Exception e) {
();
}
return obj;
}