您的位置:首页 > 编程语言 > Java开发

Java反射字段类型的判断

2016-05-19 13:33 399 查看
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();
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: