public static <T> void mapToModel(Map<String,String> mapVal,T t,Map<String,String> named){
if(mapVal != null && mapVal.size()>0){
Class clazz = t.getClass();
for (Entry<String,String> entry : named.entrySet()) {
String mapName = entry.getKey();
String entityName = entry.getValue();
Field declaredField = null;
if(StringUtils.isNotEmpty(entityName)){
try {
declaredField = clazz.getDeclaredField(entityName);
if(declaredField!=null){
declaredField.setAccessible(true);
System.out.println();
System.out.println(declaredField.getType().getName());
System.out.println(String.class.getName());
if(declaredField.getType() == String.class){
declaredField.set(t,mapVal.get(mapName));
}else if(declaredField.getType() == BigDecimal.class && Pattern.matches("\\d+",mapVal.get(mapName))){
declaredField.set(t,new BigDecimal(mapVal.get(mapName)));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
Java反射字段类型的判断
最新推荐文章于 2024-08-02 03:58:03 发布