`

把第一个对象中不为空的数据复制到第二个对象中

    博客分类:
  • JAVA
 
阅读更多
	/***
	 *实现两个实例对象之间的对拷,
	 *把第一个对象中不为空的数据复制到第二个对象中
	 *
	 * @param obj1 源数据对象
	 * @param obj2 接受数据对象
	 */
	 
	 
	@SuppressWarnings("unchecked")
	public static void copeField(Object obj1, Object obj2) {
		// 对obj1反射
		Class obj1Class = obj1.getClass();
		Method[] obj1methods = obj1Class.getDeclaredMethods();
		// 对obj2反射
		Class obj2Class = obj2.getClass();
		Method[] obj2methods = obj2Class.getDeclaredMethods();

		// 把obj2的方法影射到MAP中,方便调用
		Map obj2MeMap = new HashMap();
		for (int i = 0; i < obj2methods.length; i++) {
			Method method = obj2methods[i];
			obj2MeMap.put(method.getName(), method);
		}
		for (int i = 0; i < obj1methods.length; i++) {
			String methodName = obj1methods[i].getName();
			if (methodName != null && methodName.startsWith("get")) {
				// 取得对象里的FIELD
				try {
					// 调用obj1实例中的getXXXX方法
					Object returnObj = obj1methods[i].invoke(obj1,
							new Object[0]);
					// 获取obj2的set方法
					Method obj2method = (Method) obj2MeMap.get("set"
							+ methodName.split("get")[1]);
					// 调用obj2实例中的setXXX方法
					if (returnObj != null && obj2method != null) {
						obj2method.invoke(obj2, returnObj);
					}
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}








分享到:
评论

相关推荐

    js excel 批量复制数据到 html(新)

    例如,一个简单的例子可能包括选择文件、读取文件、获取第一个工作表的数据,并将数据渲染到一个预定义的表格中。 在压缩包中的`copy.excel2html`文件,很可能是一个包含示例代码或示例应用程序的文件,用于演示...

    C#将对象数组转换成DataSet使用案例 c#经典案例.pdf

    第二步,需要将对象数组的每个对象的属性数据复制到DataSet中的数据表中。这一步骤使用了DataTable的Rows.Add()方法,将每个对象的属性数据添加到DataSet中的数据表中。 第三步,需要将DataSet对象返回,供GridView...

    list to list 将list内容移到另一个list

    `list to list` 操作通常指的是将一个列表(list)的内容移动到另一个列表中,这可能涉及到列表的复制、合并或者元素的迁移。下面我们将深入探讨这个主题,同时也会关注到`listtolist.js`这个文件,它可能是...

    面向对象的程序设计(JAVA)第二次作业

    - A) 当一个对象被序列化时,整个类定义也会被相应保存:这是不正确的,序列化只保存对象的状态,不保存类定义。 - B) 当一个对象被序列化时,整个对象的状态(所有的数据变量及其相应值)均会被保存:这是正确的...

    C++实现多线程文件复制.docx

    在第二个代码块中,使用内存映射技术复制文件。内存映射是指将文件映射到内存中,以便快速地读取和写入文件。通过使用CreateFileMapping和MapViewOfFile函数,可以创建文件映射对象,并将其映射到内存中。 三、多...

    易语言EXCEL对象常用操作

    获取子对象 .Sheet1, .ExcelApp, 1 ' 获取第一个工作表 写入文本 .Sheet1, "A1", "你好,世界!" ' 写入文本到A1单元格 保存文件 .ExcelApp 释放对象 .ExcelApp ``` 以上内容详细介绍了易语言中Excel对象的常用操作...

    jquery 两个表格数据行交换数据

    // 将表格1第一行数据替换为表格2第一行数据 $(this).html($('#table2 tr:eq(0)').html()); // 将表格2第一行数据替换为之前保存的表格1数据 $('#table2 tr:eq(0)').html(row1Data); // 可以添加动画效果,如...

    C++实现string存取二进制数据的方法

    这里的`str1`会将`data`数组视作C风格字符串,即遇到第一个空字符('\0')时停止复制,因此`str1`只包含字符'A'和'b'。而使用以下语句创建的`str2`则包含了整个数组: ```cpp string str2(data, sizeof(data)); ``` ...

    第二部分 ORACLE 数据对象的分析1(表_约束_视图)

    通过CTAS(Create Table As Select)语句可以快速创建一个表的备份,不包含原表的约束、索引等,仅复制数据: ```sql CREATE TABLE tb_name_bak AS SELECT * FROM tb_name; ``` ### 约束(Constraint) 除了主键...

    java 创建EXCEL文件,并向EXCEL中写入数据

    这个简单的例子创建了一个名为"output.xls"的Excel文件,其中包含一个名为"Sheet1"的Sheet,第一行第一列填充了字符串"Hello, Excel!"。实际应用中,你可能需要根据实际需求动态创建多个Cell,以及遍历数据结构...

    利用 Python 进行数据分析 原书第二版 Python 3.6 完整高清非扫描书签全可复制搜索

    第二版相较于第一版,针对Python 3.6版本进行了更新,因此,它不仅适用于初学者,也是那些希望了解如何利用最新技术进行数据分析的读者的理想选择。 在数据分析过程中,Pandas库发挥着至关重要的作用。Pandas是一个...

    C++程序设计课件 ch9 类与对象(二)

    在创建对象数组时,首先调用构造函数初始化数组的第一个对象,然后是第二个,依此类推;在释放时则相反,先销毁最后一个对象,然后是倒数第二个,直至第一个。 9.4 对象数组是指存储同一类类型对象的数组,创建时...

    MCGS历史数据导出,比较详细

    在此示例中,我们将从名为`group`的组对象中导出`data1`和`data4`两个字段的历史数据,时间范围为2007年1月1日至2009年1月1日,最大记录数为20000条,导出模式为覆盖现有文件。 ##### 3. 数据查看 导出完成后,可以...

    C#中读取sql server的数据,并在datagridview中显示

    通过索引`0`访问第一个(也是唯一一个)`DataTable`,并使用`Copy()`方法复制数据,以便进一步处理或显示。 ### 四、在DataGridView中显示数据 最后一步是在Windows Forms应用程序中常用的`DataGridView`控件中...

    利用Jscrīpt复制网页中的表格到Excel中

    接下来,我们将使用JavaScript编写一个函数,该函数能够将表格中的数据复制到一个新的Excel文件中。 ```javascript function CellToExcel(tableID) { try { // 创建一个新的Excel应用程序实例 var exApp = new ...

    数据结构第二章课程文档

    这个过程通常涉及遍历两个表,时间复杂度与第二个表的长度有关。 在实际编程中,实现这些操作时,要考虑效率和空间利用率。例如,线性表的动态内存管理,插入和删除操作可能需要调整元素的内存位置。此外,线性表的...

    vba插入excel数据到word

    - **创建Word文档**:在每次循环中,为当前行数据创建一个新的Word文档,并将其激活。 - **插入数据**:使用`TypeText`方法将`temp`中的数据插入到当前活动的Word文档中。 - **保存文档**:保存Word文档,并设置文件...

    JSP内置对象(9个常用的内置对象)

    `session`对象代表了客户端的一次会话过程,即从客户端第一次访问服务器上的某个Web应用程序开始直到会话结束为止的时间段。`session`对象实际上是一个`HttpSession`接口的实现。 **常用方法说明:** 1. **`long ...

    第1章 Range(单元格)对象

    在Excel VBA编程中,Range对象是核心概念之一,它代表了Excel工作表中的一个或多个单元格。本章将深入探讨Range对象的属性、方法和事件,以及如何在VBA环境中有效地使用它们来实现自动化任务。以下是关于“第1章 ...

    2.1 类和对象 (第二章 C++面向对象程序设计).pdf

    `this`指针是每个对象成员函数的一个隐含参数,它是一个指向调用该成员函数的对象的指针。`this`用于访问当前对象的成员,例如`this-&gt;成员`。 以上是关于C++面向对象编程的一些基础知识,包括类、对象、构造函数、...

Global site tag (gtag.js) - Google Analytics