一个反射方法应用实例
2018-01-05 15:16
337 查看
需求:在导出的时候,需要将list中的对象值赋给数组对象,返回一个数组集合
原先的代码,在每一个导出的方法下需要写一个这样的转换方法private List<Object> transBean2ObjectGradeNumber(List<GradeNumberOfPeopleStatistical> list) { List<Object> retList = new ArrayList<Object>(); if (list == null || list.isEmpty()) { Object[] objs = new Object[6]; retList.add(objs); return retList; } Object[] objs = null; for (GradeNumberOfPeopleStatistical temp : list) { objs = new Object[6]; int index = 0; objs[index++] = temp.getGradeTypeName(); objs[index++] = temp.getTotalClass(); objs[index++] = temp.getMen(); objs[index++] = temp.getWomen(); objs[index++] = temp.getMenWomenProportion(); objs[index++] = temp.getTotalPeople(); retList.add(objs); } return retList; }
新的运用反射的方法,该方法为公共的方法
private List<Object> transBean2ObjectExport(List<?> list,String[] methodNames) throws Exception { List<Object> retList = new ArrayList<Object>(); if (list == null || list.isEmpty()) { Object[] objs = new Object[methodNames.length]; retList.add(objs); return retList; } Object[] objs = null; for (Object object : list) { objs = new Object[methodNames.length]; Class<? extends Object> cls = object.getClass(); for (int i = 0; i < methodNames.length ; i++ ) { Method method = cls.getMethod("get" + methodNames[i].substring(0,1).toUpperCase() + methodNames[i].substring(1)); objs[i] = method.invoke(object); } retList.add(objs); } return retList; }
相关文章推荐
- 反射应用实例--根据map中的值创建对应并调用set方法给域赋值
- [转载]如何在MDI中使子窗体只保留一个实例(反射方法)
- 编写一个类,增加一个实例方法 打印字符串 用反射
- C#反射方法来处理每个子窗体只保留一个实例
- android之反射创建一个实例:构造方法带参和不带参
- [转载]如何在MDI中使子窗体只保留一个实例(反射方法)
- java通过字符串调用方法,java反射应用实例
- Java反射之通过反射获取一个对象的方法信息(实例代码)
- SQLServer2000安装程序提示“有一个挂起的安装实例,请重起机器”的解决方法
- XHTML 的一个实例, 其实这个实例的方法已经可以实现所有要实现的布局. by Emerald 绿色学院 - Green Institute
- 利用互斥对象实现一个程序只运行一个实例的方法.
- Net反射技术应用解决对象不同版本方法不同参数的问题
- 关于"如何让应用程序只有一个实例在运行"的孟宪会的解决方法的疑问
- XMLHTTP应用的一个实例
- 如何确保应用只有一个实例运行
- 利用反射来动态创建实例和调用方法
- SQLServer2000安装程序提示“有一个挂起的安装实例,请重起机器”的解决方法
- 转:一个程序只运行一个实例的最有效方法.
- [技术应用技巧/实例]卸载网络猪的方法
- Net反射技术应用解决对象不同版本方法不同参数的问题(转)