java反射(5)通过反射拷贝对象
2017-10-14 10:38
555 查看
本篇就是反射的基本应用
如果对您有帮助 记得帮博主刷个赞或是评论哦
public class CopyObj { public static void main(String[] args) throws Exception { Person p=new Person(); p.setAddress("北京"); p.setId(1); p.setName("张三丰"); Object obj=copyObject(p); System.out.println(obj); } public static Object copyObject(Object obj) throws Exception { //获得传递过来对象的方法和属性 Class<? extends Object> class1 = obj.getClass(); Field[] fields = class1.getDeclaredFields(); Constructor<? extends Object> constructor =class1.getDeclaredConstructor(new Class[] {}); //创建一个对象 Object instance =constructor.newInstance(new Object[] {}); for(Field f:fields) { //获得name String fname=f.getName(); //获得属性类型 Class<?> type = f.getType(); //获得属性对应的set方法 String setMethodName ="set"+fname.substring(0,1).toUpperCase()+fname.substring(1); String getMethodName ="get"+fname.substring(0,1).toUpperCase()+fname.substring(1); //获得get方法 Method gmthod =class1.getDeclaredMethod(getMethodName, null); Object gresult=gmthod.invoke(obj, null); Method smethod = class1.getDeclaredMethod(setMethodName, new Class[] {gmthod.getReturnType()}); smethod.invoke(instance, new Object[] {gresult}); } return instance; } }
如果对您有帮助 记得帮博主刷个赞或是评论哦
相关文章推荐
- java通过反射拷贝两个对象的同名同类型变量
- 通过Java的反射机制实现对象的拷贝
- Java通过反射实现简单对象的拷贝
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- Java中通过反射获得对象的属性信息
- Java中利用反射原理拷贝对象
- protobuf在java应用中通过反射动态创建对象(DynamicMessage)
- Java中的反射机制(二) 一个利用反射进行对象拷贝的例子
- Java通过反射机制获取Class对象
- 通过反射,将map转换为java对象
- java 反射通过类名获取对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- Java通过反射创建对象
- Java通过反射创建对象
- java__反射、批处理、对象拷贝
- 通过JAVA的Serialization机制进行对象的拷贝
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- java 通过反射操作对象
- java通过反射Class实例调用对象方法
- java 通过反射reflect修改父类私有对象的值