Java 反射工具类封装
封装了常用的反射相关方法
- public class ReflectUtil {
- /**
- * 通过类路径获取Class
- *
- * @author LHY <br>
- * Description <br>
- * LastModified 2014-5-9 Content <br>
- */
- public static Class<?> getClass(String packagePath) throws ClassNotFoundException {
- return Class.forName(packagePath);
- }
- /**
- * 获取的Activity的Class
- *
- * @author LHY <br>
- * Description packageRoot:模块跟路径<br>
- * activityPath:Activity完整路径或 模块下Activity路径 LastModified 2014-5-9
- * Content <br>
- */
- public static Class<?> getModelClass(String packageRoot, String activityPath) throws ClassNotFoundException {
- if (activityPath.indexOf(".") == 0) {
- activityPath = packageRoot + activityPath;
- }
- return getClass(activityPath);
- }
- /**
- *
- * @author LHY <br>
- * Description 模拟get方法<br>
- * LastModified 2013-12-9 Content <br>
- * *@param obj 操作的对象<br>
- * *@param att 操作的属性<br>
- * @param <T>
- */
- public static <T> T getter(Object obj, String att) {
- T t = null;
- Field field;
- try {
- field = obj.getClass().getDeclaredField(att);
- field.setAccessible(true);
- t = (T) field.get(obj);
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- return t;
- }
- /**
- *
- * @author LHY <br>
- * Description 通过属性名,添加属性<br>
- * LastModified 2014-2-13 Content <br>
- */
- public static void setter(Object root, String name, Object value) {
- Field field;
- try {
- field = root.getClass().getDeclaredField(name);
- field.setAccessible(true);
- field.set(root, value);
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- }
- /**
- *
- * @author LHY <br>
- * Description 获取实体属性名称列表<br>
- * LastModified 2013-12-9 Content <br>
- */
- public static List<String> getFieldList(Object object) {
- List<String> fieldHashList = new ArrayList<String>();
- Class<?> cls = object.getClass();
- Field[] fieldlist = cls.getDeclaredFields();
- for (int i = 0; i < fieldlist.length; i++) {
- Field fld = fieldlist[i];
- fieldHashList.add(fld.getName());
- }
- return fieldHashList;
- }
- /**
- *
- * @author LHY <br>
- * Description 获取实体属性名称和类别键值对<br>
- * LastModified 2013-12-9 Content <br>
- */
- public static HashMap<String, Class<?>> getFieldMap(Object object) {
- HashMap<String, Class<?>> fieldHashMap = new HashMap<String, Class<?>>();
- Class<?> cls = object.getClass();
- Field[] fieldlist = cls.getDeclaredFields();
- for (int i = 0; i < fieldlist.length; i++) {
- Field fld = fieldlist[i];
- fieldHashMap.put(fld.getName(), fld.getType());
- }
- return fieldHashMap;
- }
- /**
- *
- * @author LHY <br>
- * Description 获取一个新的实例<br>
- * LastModified 2013-12-10 Content <br>
- */
- public static Object getNewBean(Object object) {
- try {
- object = object.getClass().newInstance();
- } catch (InstantiationException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- return object;
- }
- }
Java 反射工具类封装的更多相关文章
- java反射工具类
package com.yingchao.kgou.core; import java.lang.reflect.Field; import java.lang.reflect.InvocationT ...
- JAVA DateUtil 工具类封装(转)
原文链接 https://blog.csdn.net/wangpeng047/article/details/8295623 作者三次整理后的代码 下载链接 https://www.lanzou ...
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
- Redis操作List工具类封装,Java Redis List命令封装
Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...
- 反射工具类.提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,被AOP过的真实类等工具函数.java
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; import org.ap ...
- 反射工具类——ReflectUtils
测试方法:根据已知的方法名,来反射调用方法 package com.redmoon.forum.job; import java.util.ArrayList; import java.util.Li ...
- Java Properties工具类详解
1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...
- JAVA常用工具类汇总
一.功能方法目录清单: 1.getString(String sSource)的功能是判断参数是否为空,为空返回"",否则返回其值: 2.getString(int iSource ...
- Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie
Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...
随机推荐
- 去除bootstrap模态框半透明阴影
当使用bootstrap模态框默认自带半透明阴影,如果想要去除阴影,需要怎么做呢? 今天在项目中我遇到了这个问题,想要去除模态框的阴影,试了好久都没解决.后来问同事的时候才知道,当模态框弹出后,会加上 ...
- JS,JQuery的扩展方法
转 http://blog.csdn.net/tuwen/article/details/11464693 //JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展 ...
- select 选中 option的问题
1.[可以实现 不推荐 适合多选] $("#organize_type").find("option:eq("+j+")").attr(& ...
- WampServer Apache 服务无法启动解决办法
问题:WampServer 安装后mysql服务可以启动,但Apache服务启动不了(前提是已经安装Apache Server) 解决办法: 1.端口冲突,改Apache里httpd.conf中的端口 ...
- cdnbest的站点设置里设置url跳转设置
示例: 内容示例写法: ^http://kangleweb.com/(.*)$ https://www.kangleweb.com/$1 这只是一个例子,其他用法您可以自已多试试
- Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用Spring Framework开发自己的应用程序
1.直接基于spring framework开发自己的应用程序: 1.1参考资料: Spring官网spring-framework.4.3.5.RELAESE的Reference Documenta ...
- linux 命令之comm
1. 简介 comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集.求差.以及差集操作. 交集:打印出两个文件所共有的行. 求差:打印出指定文件所包含的且不相同的行. 差集 ...
- UITableView 使用
关键字 •UITableView •UITableViewDataSource •UITableViewDelegate •UITableViewCell •MVC 运行结果
- Bimmap 成像用bitblt 缩放问题
BitBlt不能变尺寸,但是StrectchBlt可以变尺寸,在使用StrectchBlt时要注意,首先要设置一下SetStretchBltMode,通常设成HALFTONE,这样缩放时就不会失真. ...
- codeforces 742D (分组背包)
D. Arpa's weak amphitheater and Mehrdad's valuable Hoses Just to remind, girls in Arpa's land are ...