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 >>>>>>>>>>>>& ...
随机推荐
- Session和Cookie的作用以及实现
http://www.cnblogs.com/xiaoshitoutest/p/6103790.html
- LNMP添加、删除虚拟主机及伪静态使用教程
一般情况下每个虚拟主机就是一个网站,网站一般通过域名进行访问.LNMP 1.2的网站添加过程和LNMP 1.1的基本类似,但是增加了FTP和数据库的创建.LNMP1.2的防跨目录也由原来在php.in ...
- sftp上传 - 待完
1.搭建本地sftp 1.1.下载msftpsrvr.exe软件 下载地址:http://www.download3k.com/Install-Core-FTP-Mini-SFTP-Server.ht ...
- 学习ExtJs教程初级
搭建环境:myeclipse10 +tomcat6+jdk6 新建一个webproject(启动myeclipse:file--new--webproject) 导入相关的js和css(百度下载就好. ...
- 控制台telnet连接后无法关闭
按下ctrl+]然后再quit就可以close connection
- centos配置vpn服务器
1.配置epel软件源wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm2.安装PPTP服务端软件yu ...
- IT青年深圳销售求职经历
今年五月份,辞掉了一份月薪5k ,没有加班,双休,福利不错的IT工作,我始终觉得这样的工作太过平稳,没有任何激情,虽然没想好接下来的路怎么走,但是最终我还是选择了裸辞.在所在的城市玩了半个月,算是作最 ...
- delphi安装 Tclientsocket, Tserversocket控件
菜单component->Install Packets按Add按钮,选择delphi目录里的bin目录下的dclsockets70.bpl(delphi2010是 dclsockets140. ...
- Android遍历获取Office格式(Word,Excel,PPT,PDF)的文件并打开
此案例主要是模仿QQ加载WPS(Word,Excel,PPT)本地文件可打开查看,使用ListView加载,使用线程扫描SD卡下所有目录加载指定的Word,Excel,PPT等格式的文件,ListVi ...
- ios xib或storyBoard的那些小方法
今天看了一下xib里的一些小技巧,但是百度一搜的话,网上已经有人写过教程了,在这里我也就懒一下,不写那么详细了,就写一些如何百度的方法! 1."通过KVC修改占位文字的颜色" [t ...