前提:map中key(大小写不区分) 与 bean 字段名(小写)相同:
这是在特定条件下的转换方式,map 的value是字符串对象,因此处理方式简单些,
代码如下:
public static void mapToBean(Map mpFrom, Object objTo) {
Object[] objKeys = mpFrom.keySet().toArray();
String strFieldName = "";
try {
for(Object objkey:objKeys) {
strFieldName = objkey.toString();
Field objField = objTo.getClass().getDeclaredField(strFieldName.toLowerCase());
objField.setAccessible(true);
objField.set(objTo, mpFrom.get(strFieldName));
}
}
catch (Exception e) {
e.printStackTrace();
}
}
不过测试效率的话比不用反射机制的方式慢很多,大约要相差一个数量级的时间单位。