封装了常用的反射相关方法

  1. public class ReflectUtil {
  2. /**
  3. * 通过类路径获取Class
  4. *
  5. * @author LHY <br>
  6. * Description <br>
  7. * LastModified 2014-5-9 Content <br>
  8. */
  9. public static Class<?> getClass(String packagePath) throws ClassNotFoundException {
  10. return Class.forName(packagePath);
  11. }
  12.  
  13. /**
  14. * 获取的Activity的Class
  15. *
  16. * @author LHY <br>
  17. * Description packageRoot:模块跟路径<br>
  18. * activityPath:Activity完整路径或 模块下Activity路径 LastModified 2014-5-9
  19. * Content <br>
  20. */
  21. public static Class<?> getModelClass(String packageRoot, String activityPath) throws ClassNotFoundException {
  22. if (activityPath.indexOf(".") == 0) {
  23. activityPath = packageRoot + activityPath;
  24. }
  25. return getClass(activityPath);
  26. }
  27.  
  28. /**
  29. *
  30. * @author LHY <br>
  31. * Description 模拟get方法<br>
  32. * LastModified 2013-12-9 Content <br>
  33. * *@param obj 操作的对象<br>
  34. * *@param att 操作的属性<br>
  35. * @param <T>
  36. */
  37. public static <T> T getter(Object obj, String att) {
  38. T t = null;
  39. Field field;
  40. try {
  41. field = obj.getClass().getDeclaredField(att);
  42. field.setAccessible(true);
  43. t = (T) field.get(obj);
  44. } catch (NoSuchFieldException e) {
  45. e.printStackTrace();
  46. } catch (IllegalArgumentException e) {
  47. e.printStackTrace();
  48. } catch (IllegalAccessException e) {
  49. e.printStackTrace();
  50. }
  51. return t;
  52. }
  53.  
  54. /**
  55. *
  56. * @author LHY <br>
  57. * Description 通过属性名,添加属性<br>
  58. * LastModified 2014-2-13 Content <br>
  59. */
  60. public static void setter(Object root, String name, Object value) {
  61.  
  62. Field field;
  63. try {
  64. field = root.getClass().getDeclaredField(name);
  65. field.setAccessible(true);
  66. field.set(root, value);
  67. } catch (NoSuchFieldException e) {
  68. e.printStackTrace();
  69. } catch (IllegalArgumentException e) {
  70. e.printStackTrace();
  71. } catch (IllegalAccessException e) {
  72. e.printStackTrace();
  73. }
  74. }
  75.  
  76. /**
  77. *
  78. * @author LHY <br>
  79. * Description 获取实体属性名称列表<br>
  80. * LastModified 2013-12-9 Content <br>
  81. */
  82. public static List<String> getFieldList(Object object) {
  83. List<String> fieldHashList = new ArrayList<String>();
  84. Class<?> cls = object.getClass();
  85. Field[] fieldlist = cls.getDeclaredFields();
  86. for (int i = 0; i < fieldlist.length; i++) {
  87. Field fld = fieldlist[i];
  88. fieldHashList.add(fld.getName());
  89. }
  90. return fieldHashList;
  91. }
  92.  
  93. /**
  94. *
  95. * @author LHY <br>
  96. * Description 获取实体属性名称和类别键值对<br>
  97. * LastModified 2013-12-9 Content <br>
  98. */
  99. public static HashMap<String, Class<?>> getFieldMap(Object object) {
  100. HashMap<String, Class<?>> fieldHashMap = new HashMap<String, Class<?>>();
  101. Class<?> cls = object.getClass();
  102. Field[] fieldlist = cls.getDeclaredFields();
  103. for (int i = 0; i < fieldlist.length; i++) {
  104. Field fld = fieldlist[i];
  105. fieldHashMap.put(fld.getName(), fld.getType());
  106. }
  107. return fieldHashMap;
  108. }
  109.  
  110. /**
  111. *
  112. * @author LHY <br>
  113. * Description 获取一个新的实例<br>
  114. * LastModified 2013-12-10 Content <br>
  115. */
  116. public static Object getNewBean(Object object) {
  117. try {
  118. object = object.getClass().newInstance();
  119. } catch (InstantiationException e) {
  120. e.printStackTrace();
  121. } catch (IllegalAccessException e) {
  122. e.printStackTrace();
  123. }
  124. return object;
  125.  
  126. }
  127. }

Java 反射工具类封装的更多相关文章

  1. java反射工具类

    package com.yingchao.kgou.core; import java.lang.reflect.Field; import java.lang.reflect.InvocationT ...

  2. JAVA DateUtil 工具类封装(转)

    原文链接 https://blog.csdn.net/wangpeng047/article/details/8295623  作者三次整理后的代码 下载链接   https://www.lanzou ...

  3. Redis操作Set工具类封装,Java Redis Set命令封装

    Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...

  4. Redis操作List工具类封装,Java Redis List命令封装

    Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...

  5. 反射工具类.提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,被AOP过的真实类等工具函数.java

    import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; import org.ap ...

  6. 反射工具类——ReflectUtils

    测试方法:根据已知的方法名,来反射调用方法 package com.redmoon.forum.job; import java.util.ArrayList; import java.util.Li ...

  7. Java Properties工具类详解

    1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...

  8. JAVA常用工具类汇总

    一.功能方法目录清单: 1.getString(String sSource)的功能是判断参数是否为空,为空返回"",否则返回其值: 2.getString(int iSource ...

  9. Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie

    Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...

随机推荐

  1. 去除bootstrap模态框半透明阴影

    当使用bootstrap模态框默认自带半透明阴影,如果想要去除阴影,需要怎么做呢? 今天在项目中我遇到了这个问题,想要去除模态框的阴影,试了好久都没解决.后来问同事的时候才知道,当模态框弹出后,会加上 ...

  2. JS,JQuery的扩展方法

    转 http://blog.csdn.net/tuwen/article/details/11464693 //JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展            ...

  3. select 选中 option的问题

    1.[可以实现 不推荐  适合多选] $("#organize_type").find("option:eq("+j+")").attr(& ...

  4. WampServer Apache 服务无法启动解决办法

    问题:WampServer 安装后mysql服务可以启动,但Apache服务启动不了(前提是已经安装Apache Server) 解决办法: 1.端口冲突,改Apache里httpd.conf中的端口 ...

  5. cdnbest的站点设置里设置url跳转设置

    示例: 内容示例写法: ^http://kangleweb.com/(.*)$ https://www.kangleweb.com/$1 这只是一个例子,其他用法您可以自已多试试

  6. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用Spring Framework开发自己的应用程序

    1.直接基于spring framework开发自己的应用程序: 1.1参考资料: Spring官网spring-framework.4.3.5.RELAESE的Reference Documenta ...

  7. linux 命令之comm

    1. 简介 comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集.求差.以及差集操作. 交集:打印出两个文件所共有的行. 求差:打印出指定文件所包含的且不相同的行. 差集 ...

  8. UITableView 使用

    关键字 •UITableView •UITableViewDataSource •UITableViewDelegate •UITableViewCell •MVC   运行结果

  9. Bimmap 成像用bitblt 缩放问题

    BitBlt不能变尺寸,但是StrectchBlt可以变尺寸,在使用StrectchBlt时要注意,首先要设置一下SetStretchBltMode,通常设成HALFTONE,这样缩放时就不会失真. ...

  10. codeforces 742D (分组背包)

    D. Arpa's weak amphitheater and Mehrdad's valuable Hoses   Just to remind, girls in Arpa's land are ...