import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; public class ReflectionTester { @SuppressWarnings("unchecked") public Object objectCopy(Object object) throws Exception { Class<?> classType = object.getClass(); Constructor cons = classType.getConstructor(new Class[] {}); Object obj = cons.newInstance(new Object[] {}); Field[] fields = classType.getDeclaredFields(); for (Field field : fields) { String name = field.getName(); String lastName = name.substring(0, 1).toUpperCase() + name.substring(1); String getMethodName = "get" + lastName; String setMethodName = "set" + lastName; Method getMethod = classType.getMethod(getMethodName, new Class[] {}); Method setMethod = classType.getMethod(setMethodName, new Class[] { field.getType() }); Object value = getMethod.invoke(object, new Object[] {}); setMethod.invoke(obj, new Object[] { value }); } return obj; } public static void main(String[] args) throws Exception { Customer customer = new Customer("Tom", 23); customer.setId(1L); ReflectionTester test = new ReflectionTester(); Object result = test.objectCopy(customer); Customer customer2 = (Customer) result; System.out.println(customer2.getId() + "," + customer2.getName() + "," + customer2.getAge()); } } class Customer { private Long id; private String name; private int age; public Customer() { } public Customer(String name, int age) { this.name = name; this.age = age; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
相关推荐
java反射 java反射java反射java反射java反射java反射java反射java反射java反射java反射java反射java反射java反射java反射
JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用JAVA 反射机制应用
java反射与EJBjava反射与EJBjava反射与EJBjava反射与EJBjava反射与EJBjava反射与EJB
java反射机制java反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制.zipjava反射机制...
Java反射经典实例 Java反射经典实例 Java反射经典实例 Java反射经典实例
这是一本关于Java反射机制论文集合的书。其中包含基本的理论及各种实例。... 关键字有:Java Java反射机制 Java反射 Java反射理论 Java反射实例 Java反射例子 反射原理 反射 网络论文 集合 汇总 总结 Class。
java反射java反射java反射java反射java反射
反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc反射实例-JAVA反射机制.doc...
java反射,获取所有属性、方法以及List集合类
1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息
java 反射demo
java反射理论及实现
代码为JAVA反射的一个DEMO,适合初学者临摹学习,还附有properties的创建方法,比较基础。
Java反射
java 反射中操作数组 java 反射中操作数组 java 反射中操作数组
Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制Java反射机制
java学习例子 java java例子 java反射
JAVA REFLECT (java 反射) 取得类的继承结构 - 类所在的包; |- public Package getPackage() - 类的声明方式; |-取得全类名:public String getName() |-只取类名: public String getSimpleName() - 类所继承...
java反射机制源码java反射机制源码java反射机制源码
Java 反射机制、Java 的类反射机制、Java 反射机制的学习、Java 反射Reflection--运行时生成实例 java反射机制的手册文档