`
01jiangwei01
  • 浏览: 542781 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 属性复制 不用set,get方法

阅读更多

 

 

代码属性复制除了用BeanUtils.copyProperties方法外,使用这个方法也可以实现。在hibernate,持久化中这个方法很受用的。

import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class CopyObject {

	public static Object copyProperties(Object rtuObject, Object object){
		Class classType = object.getClass();
		Class rtuClassType = rtuObject.getClass();


		Field fields[] =classType.getDeclaredFields();

		for(int i=0;i<fields.length;i++){
				Field field = fields[i];
				String fieldName = field.getName();
				String firstLetter = fieldName.substring(0,1).toUpperCase();

				String getMethodName = "get"+firstLetter+fieldName.substring(1);
				String setMethodName = "set"+firstLetter+fieldName.substring(1);


			try {

				Method getMethod = classType.getMethod(getMethodName,new Class[]{});
				Method setMethod = rtuClassType.getMethod(setMethodName,new Class[]{field.getType()});
				Object value = getMethod.invoke(object,new Object[]{});
				if (null!=value){
					setMethod.invoke(rtuObject,new Object[]{value});
				}

			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
	return rtuObject;
}

 

 

分享到:
评论
2 楼 01jiangwei01 2013-06-12  
lsioui 写道
不喜欢看没注释的代码。。。

我的代码库是留着我自己拷贝使用的。不好意思了
1 楼 lsioui 2013-06-07  
不喜欢看没注释的代码。。。

相关推荐

    idea插件实现自动set属性拷贝

    Student student=new Student(); (Student2)student //在这个表达式(记得光标在表达式里面哦)按下alt+Enter,选中“哟嚯。。。好爽啊”就能自动生成下面代码 Student2 student2=new Student2();...

    get set方法生成注释和字段注释.rar

    在Java编程语言中,"get"和"set"方法是面向对象设计中常见的特性,用于访问和修改对象的私有属性。这些方法通常被称为getter和setter,是封装原则的重要体现,能够保护数据的安全性,避免直接暴露对象的内部状态。在...

    java类复制一个持久化对象

    通过反射,我们可以获取类的所有字段和方法,包括那些私有的成员,这对于复制对象非常有用,因为它可以访问并复制对象的所有属性。 ### 复制持久化对象的需求与挑战 持久化对象通常与数据库中的记录相对应,它们...

    android 浅复制和深复制-Java Generic Deep Copy 篇

    本文将深入探讨Java中的浅复制和深复制,并以Android为背景,结合具体的实例讲解如何实现Java泛型深拷贝。 首先,我们要理解浅复制和深复制的概念。浅复制(Shallow Copy)是指创建一个新的对象,然后将原对象引用...

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

    在Java编程中,反射(Reflection)是一个强大的工具,它允许我们在运行时检查和操作类、接口、字段和方法。通过反射,我们可以动态地创建对象、访问私有成员、调用私有方法,甚至改变对象的行为。Java反射 API 主要...

    通过构造及反射实现类属性赋值

    这种方式确保了属性的正确复制,同时如果源对象的属性有set器(setter方法),可以通过set器调用来执行通知或其他业务逻辑。 ```java public class TargetObject { private String attr; public TargetObject...

    自动生成带注释的getter和setter方法(Intellij、AndroidStudio插件).zip

    标题中的“自动生成带注释的getter和setter方法(Intellij、AndroidStudio插件)”指的是在编程过程中,开发者可以利用特定的插件自动化生成Java Bean模式中的getter和setter方法,并且这些方法会带有注释。...

    Java实现不同的类的属性之间相互赋值

    throw new Exception("属性复制失败:" + e.getMessage()); } } ``` 最后,我们可以使用这个方法来实现属性之间的赋值。 ```java public static void main(String[] args) { ClassTestCopy1 c1 = new ...

    java Base 工具类 java Base 工具类

    public class BeanUtils extends org.springframework.beans.BeanUtils{ /** Bean方法名中属性名开始的下标 */ private static final int BEAN_METHOD_PROP_INDEX = 3;... /** * Bean属性复制工具方法。 * * @param d

    Java对象的复制三种方式(小结)

    这种方式简单易懂,但当属性多时,就需要一直get、set了,非常麻烦。 2. 重写clone()方法 Java语言中,clone()方法是Object类中的一个方法,用于创建对象的副本。clone()方法有两种实现方式:浅克隆和深克隆。浅...

    Java发https请求证书问题

    - 在 Java 应用程序中通过 `System.setProperty("javax.net.ssl.trustStore", "tomcat.keystore")` 设置信任存储的路径。 - 通过 `System.setProperty("javax.net.ssl.trustStorePassword", "changeit")` 设置信任...

    java反射机制详解

    接着,遍历所有属性,通过`setAccessible(true)`使私有字段变得可访问,最后使用`get()`和`set()`方法获取和设置属性值。 #### 五、总结 Java反射机制为开发者提供了强大的动态处理能力,特别是在框架设计和代码...

    使用BeanUtils操作属性的一个小坑

    问题在于,BeanUtils在进行属性复制时,会尝试通过反射调用getter和setter方法,如果JavaBean的属性名称与实际getter或setter方法不完全匹配,或者属性类型不兼容,就会导致异常。例如,假设我们有一个属性名为`...

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

    当前有多种方法可以实现对象相同字段的复制操作,例如,一个一个的get出来后又set进去,这种方法虽然可以实现复制,但是会增加很多的编码复杂度和一些没有营养的代码。另一种方法是使用别人已经存在的工具,例如...

    Java反射机制与动态代理

    这是通过获取属性的`get`和`set`方法实现的,适用于简单的JavaBean。 4. **使用反射的注意事项** - 性能开销:反射操作通常比直接调用方法慢,因为它涉及更多的安全检查和运行时解析。 - 安全问题:反射可以访问...

    java 反射-(reflect)

    在自定义工具类中,我们也可以利用反射实现通用的功能,比如序列化与反序列化、属性复制等。 四、注意事项与性能影响 虽然反射提供了很大的灵活性,但也有其潜在问题。首先,反射操作通常比直接调用方法慢,因为它...

    拷贝JSON对象值进Java Bean对象

    这段代码利用了反射机制,找到Java Bean类中的setter方法,根据JSON中的键值对调用setter方法设置属性值。 另一种常见的方式是使用Gson库,它的使用更加简洁。首先,引入Gson库,然后使用`Gson.fromJson()`方法进行...

    Java语言的反射机制

    首先获取对象的类型,然后通过默认构造方法创建新对象,接着获取所有属性,遍历这些属性并使用对应的get和set方法复制属性值。注意,此方法仅适用于遵循JavaBean规范的对象,即每个属性都有对应的公共getter和setter...

    实验项目B、Java类基础编程

    3. **set和get方法**:set方法用于设置对象的属性值,get方法用于获取对象的属性值。这些方法常用于封装,保护对象内部数据的安全。 4. **构造方法**:构造方法是一个特殊的方法,用于初始化新创建的对象。它与类名...

Global site tag (gtag.js) - Google Analytics