java反射最常用的几个方法
2018-04-06 13:05
393 查看
1.获取javaBean的属性
2.获取javaBean的方法
3.通过反射进行Bean与Bean之间的转换
Student s = new Student(); Class<? extends Student> class1 = s.getClass(); //获取public的属性 Field[] fields = class1.getFields(); //获取所有的属性 Field[] declaredFields = class1.getDeclaredFields(); for(Field f:fields) { System.out.println("***执行getFields()方法***"); System.out.println(f); } for(Field f:declaredFields) { System.out.println("***执行getDeclaredFields()方法***"); System.out.println(f); }
2.获取javaBean的方法
//获取本类及父类public的方法 Method[] methods = class1.getMethods(); for(Method m:methods) { System.out.println("***执行getMethods()方法"); System.out.println(m); } //获取本类当中所有的方法 Method[] methods2 = class1.getDeclaredMethods(); for(Method m:methods2) { System.out.println("***执行getDeclaredMthods()方法***"); System.out.println(m); }
3.通过反射进行Bean与Bean之间的转换
/** * 实体类之间转换 * @param source:源类 * @param target:要转换的目标类 * @return */ public static Object convertBean(Object source,Object target) { //获取来源类的所有方法 Method[] sourceMethods = source.getClass().getDeclaredMethods(); //要转换目标类的所有方法 Method[] targetMethods = target.getClass().getDeclaredMethods(); //遍历源类的所有方法 for(Method sm:sourceMethods) { //取源类的方法名称 String sourceMethodName = sm.getName(); //以get开头的方法 if(sourceMethodName.startsWith("get")) { try { Object value = sm.invoke(source); for(Method tm:targetMethods) { String targetMethodName = tm.getName(); if(targetMethodName.startsWith("set") && (sourceMethodName.substring(3, sourceMethodName.length()).equals(targetMethodName.substring(3,targetMethodName.length())))) { tm.invoke(target, value); } } } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { e.printStackTrace(); } } } return target; }
相关文章推荐
- Java反射常用到的几个方法,获取Private字段,执行其他类的方法,获取类名
- 几个java中String类中最常用的方法
- java中字符串处理、串联和转换的几个常用方法,以及如果需要自己编程实现的具体实施步骤。
- JAVA反射--一些常用方法
- Java字符串处理的几个常用方法
- java 常用的反射方法
- 关于java反射的几个方法
- Java 数组的几个常用方法
- 第三周第二天( 【Class类与Java反射 】 【Method类的常用方法 】 【注解】)
- java并发库之Executors常用的创建ExecutorService的几个方法说明
- Java反射的几个方法区别
- Java常用的几个正则方法(查找索引,匹配,替换)
- Java 反射常用方法示例
- 黑马程序员-JAVA学习之反射以及Class类的常用方法
- java 使用反射中的几个方法区别
- java并发库之Executors常用的创建ExecutorService的几个方法说明
- java 反射常用方法
- java并发库之Executors常用的创建ExecutorService的几个方法说明
- Java 反射获取类详细信息的常用方法总结
- java并发库之Executors常用的创建ExecutorService的几个方法说明