`
TRAMP_ZZY
  • 浏览: 138957 次
社区版块
存档分类
最新评论

Java 反射实现对象拷贝

    博客分类:
  • Java
阅读更多
public class BeanCopyUtils {
	/**
	 * 
	 * copy:<br />
	 * 复制一个对象到另外一个
	 *
	 * @author zhangzhaoyu
	 * @param object
	 * @return
	 * @throws Exception
	 */
	public static void copy(Object org, Object des) throws Exception {
		
		Class<?> orgClassType = org.getClass();
		Class<?> desClassType = des.getClass();
		
		//Object objectCopy = desClassType.getConstructor(new Class[]{}).newInstance(new Object[]{});
		Field []fields = orgClassType.getDeclaredFields();
		
		for (Field field : fields) {
			String filedName = field.getName();
			String firstLetter = filedName.substring(0, 1).toUpperCase();
			String getMethodName = "get" + firstLetter + filedName.substring(1);
			String setMethodName = "set" + firstLetter + filedName.substring(1);
			
			Method getMethod = orgClassType.getMethod(getMethodName, new Class[]{});
			Method setMethod = desClassType.getMethod(setMethodName, new Class[]{field.getType()});
			
			if (getMethod != null) {
				Object value = getMethod.invoke(org, new Object[]{});
				if (setMethod != null) {
					setMethod.invoke(des, new Object[]{value});
				}
			}
		}
	}
}
分享到:
评论

相关推荐

    使用java反射机制实现java的深拷贝

    在Java编程中,深拷贝和浅拷贝是两种常见的对象拷贝方式。它们主要区别在于,浅拷贝仅复制对象本身,而不复制它引用的对象;而深拷贝则会递归地复制对象及其所有引用的对象。在某些情况下,如需要完全独立的副本时,...

    利用Java反射机制实现对象相同字段的复制操作

    利用Java反射机制实现对象相同字段的复制操作 Java反射机制是Java语言中一个强大的工具,可以实现对象相同字段的复制操作。下面是对该机制的详细介绍和分析。 一、为什么需要对象相同字段的复制操作? 在项目开发...

    java反射机制创建对象实现:java 深度拷贝 -超完美

    总的来说,Java反射机制配合序列化可以实现对象的深度拷贝,但这种方法受限于对象必须实现序列化接口。对于不可序列化的对象,可以考虑使用JSON库进行转换。然而,这种方式可能存在性能和兼容性问题,因此在实际应用...

    java反射以及复制一个bean的值到另一个bean中。

    总之,Java反射提供了一种强大的机制,允许我们在运行时检查和操作类和对象。它在许多场景下非常有用,比如框架开发、动态代理、序列化、元数据操作等。同时,复制bean的值也是常见的需求,尤其在数据处理和对象模型...

    java学习笔记(java 反射机制 流 内存管理)

    Java反射机制是Java语言的一个强大特性,允许程序在运行时检查类、接口、字段和方法的信息,并能动态地创建对象和调用方法。通过java.lang.Class和java.lang.reflect包中的类,我们可以获取类的结构信息,包括构造器...

    Java反射机制总结(实例分析)

    - **通用工具类**:例如深度拷贝、属性复制等,反射可以方便地在不同对象间复制属性。 以下是一个简单的反射使用示例: ```java public class ReflectTester { public Object copy(Object object) throws ...

    java 深度拷贝 复制 深度复制.zip

    在Java编程中,深度拷贝和浅拷贝是两种重要的对象复制方式,它们涉及到对象的内存管理和内存结构的复制。...但这里我们重点讨论了如何仅通过Java反射机制来实现深度拷贝,希望对理解这一概念有所帮助。

    JAVA反射参数传递概略

    这篇博客文章“JAVA反射参数传递概略”将深入探讨如何使用反射来处理方法参数,尤其是涉及到参数传递的细节。 首先,让我们理解什么是参数传递。在Java中,有两种基本的参数传递方式:值传递和引用传递。值传递是将...

    Java反射示例代码.rar

    - 字符串操作框架:如Apache Commons BeanUtils库,使用反射实现对象属性的复制。 - 测试工具:JUnit等测试框架,通过反射调用私有方法进行测试。 - 反序列化:从文件或网络流中恢复对象时,需要使用反射来实例化...

    拷贝JSON对象值进Java Bean对象

    总的来说,将JSON对象转换为Java Bean对象是Java开发中的基础操作,可以通过源码手动实现,也可以借助第三方库如Gson简化工作。理解这个过程对于处理JSON数据和构建RESTful API至关重要。在实际项目中,应根据需求...

    java主要反射和内存机制

    **一、Java反射机制** Java反射机制是Java提供的一种能够在运行时检查类、接口、字段和方法的能力。它允许程序在运行时动态地获取类的信息并操作类的对象。以下是一些关于Java反射的重要知识点: 1. **Class对象**...

    JAVA创建对象的四种方法

    - clone() 方法是 Java 中的一个方法,它可以创建对象的拷贝,但是需要实现 Cloneable 接口,clone() 方法可以创建浅拷贝或深拷贝,浅拷贝只拷贝对象的引用,而深拷贝则拷贝对象的所有成员变量。 - 序列化机制是 ...

    java类复制一个持久化对象

    通过上述代码,我们成功地利用Java反射机制复制了一个持久化对象。这种方法虽然简单有效,但在实际应用中也存在一定的局限性和挑战,比如不支持复制复杂的数据结构(如集合和数组)中的元素,也不考虑对象之间的引用...

    Java反射操作(需要commons-beanutils-1.8.2.jar)

    总结来说,Java反射操作结合Apache Commons BeanUtils库可以帮助开发者实现灵活、动态的代码,但同时也需要谨慎对待其潜在的风险和性能影响。对于那些希望深入理解Java平台的底层机制和提升代码灵活性的开发者来说,...

    java 反射-(reflect)

    Java反射在开发中常用于工具类或框架,例如Spring框架就大量使用了反射技术来实现依赖注入。在自定义工具类中,我们也可以利用反射实现通用的功能,比如序列化与反序列化、属性复制等。 四、注意事项与性能影响 ...

    JAVA反射机制详解

    Java反射机制是Java语言提供的一种基础功能,通过反射机制,可以在运行时分析类的属性和方法,并动态调用对象的方法。在Java的java.lang.reflect包中包含了一系列的类来支持反射机制的实现,下面详细介绍一下这些类...

    java反射机制文档

    首先,获取输入对象的类,然后遍历其所有字段,通过反射找到对应的 getter 和 setter 方法,实现属性的复制。 反射在实际开发中有很多应用场景,比如: 1. **动态代理**:Java 动态代理通常基于反射实现,允许在...

Global site tag (gtag.js) - Google Analytics