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(); } } } } }
相关文章推荐
- java入门之this与super
- Java_JAVA6动态编译的问题
- java学习总结(16.05.19)java的基本数据类型
- Struts2文件下载找不到输入流异常
- SpringMVC源码剖析(一)- 从抽象和接口说起
- mybatis "There is no getter for property named 'xx' in 'class java.lang.String"问题
- 计算两个非负整数的最大公约数
- JAVA设计模式(16):行为型-策略模式(Strategy)
- 更新Android SDK之后Eclipse提示ADT版本过低的一个简易解决办法
- 细说JAVA反射
- java入门之抽象类
- JAVA设计模式(15):行为型-命令模式(Command)
- java calender 获取本周一与周日的代码
- JAVA设计模式(14):行为型-中介者模式(Mediator)
- 编译原理知识(1)--Java实现本地时间获取
- Spring的工作原理
- 使用RxJava.Observable取代AsyncTask和AsyncTaskLoader
- 2016年排名Top 100的Java类库
- ubuntu下hadoop+eclipse开发环境的搭建
- 不要打断链式结构:使用 RxJava的 compose() 操作符