博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java的反射
阅读量:4189 次
发布时间:2019-05-26

本文共 1539 字,大约阅读时间需要 5 分钟。

package cn.tzz.java.reflect;
2.
3.import cn.tzz.aop.entity.Person;
4.import java.lang.reflect.Field;
5.import java.lang.reflect.Method;
6.import org.junit.Test;
7.
8.public class TestReflect {
9.
10. /** 方法--属性复制 */
11. public void fieldCopy(Object source, Object target) throws Exception {
12. Method[] methods = source.getClass().getDeclaredMethods();
13. for (Method method : methods) {
14. String methodName = method.getName();
15. System.out.println(methodName);
16. if (methodName.startsWith("get")) {
17. Object value = method.invoke(source, new Object[0]);
18. System.out.println(value);
19. String setMethodName = methodName.replaceFirst("(get)", "set");
20. Method setMethod = Person.class.getMethod(setMethodName,
21. method.getReturnType());
22. setMethod.invoke(target, value);
23. }
24. }
25. }
26.
27. /** 属性字段名、值、数据类型 */
28. public void getFields(Object object) throws Exception {
29. Field[] fields = object.getClass().getDeclaredFields();
30. for (Field field : fields) {
31. field.setAccessible(true);
32. String classType = field.getType().toString();
33. int lastIndex = classType.lastIndexOf(".");
34. classType = classType.substring(lastIndex + 1);
35. System.out.println("fieldName:" + field.getName() + ",type:"
36. + classType + ",value:" + field.get(object));
37. }
38. }
39.
40. @Test
41. public void test() throws Exception {
42. Person person = new Person();
43. person.setId(1L);
44. person.setName("AAA");
45. Person person2 = new Person();
46. fieldCopy(person, person2);
47. getFields(person2);
48. }
49.}

转载地址:http://zknoi.baihongyu.com/

你可能感兴趣的文章
Inside ASP.NET 2.0-即时编译系统
查看>>
修復VS.NET 2005
查看>>
LINQ
查看>>
JavaScript组件之JQuery(A~Z)教程(基于Asp.net运行环境)[示例代码下载]
查看>>
学英语的网站[转载]
查看>>
Asp.net 2.0 自定义控件开发[开发一个图表(WebChart)控件(柱状图示例)](示例代码下载)
查看>>
住在我隔壁储藏室的大学刚毕业的小夫妻[转载]
查看>>
英语学习加油站[收集]
查看>>
Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)
查看>>
2007.5.13 祝天下所有的母亲: 节日快乐!
查看>>
Asp.net 2.0自定义控件开发相关的几种嵌入资源解决方案
查看>>
Asp.net 2.0控件开发相关调试(JavaScript调试和自定义控件设计时调试)
查看>>
Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
查看>>
Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
查看>>
Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]
查看>>
[转载]《越狱》第二季过后,剧情跌宕起伏,各角色们的命运也各有不同,现公布如下
查看>>
Asp.net 2.0 自定义控件开发[实现GridView多行表头固定表体滚动效果][示例代码下载]
查看>>
Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]
查看>>
[MVP] 热烈祝贺!您已经获得连任 Microsoft MVP 奖励
查看>>
Asp.net 2.0 自定义控件开发[创建自定义右键PopupMenu控件][示例代码下载]
查看>>