有时候我们在开发过程中经常会遇到,将一个对象的数据复制到另外一个对象里面去,比如要讲一个对象的数据复制到一个历史记录表里面去,如果我们用set ,get 就比较麻烦,用这个目前类的前提是,javaBean实体里面的属性是相同的才可以复制,这样可以大大提高了我们在开发过程中的数据操作时间。
import java.lang.reflect.Method;
/**
* 数据源复制util
* @author weidetian
* @version 2013-12-16
*/
public class BeanUtil {
public static void copyProperties(Object source, Object dest)
throws Exception {
Method[] sourceMethod = source.getClass().getMethods();
Method[] destMethod = dest.getClass().getMethods();
String sourceMethodName, methodFix1, destMethodName2, methodFix2;
for (int i = 0; i < sourceMethod.length; i++) {
sourceMethodName = sourceMethod[i].getName();
methodFix1 = sourceMethodName.substring(3,
sourceMethodName.length());
if (sourceMethodName.startsWith("get")) {
for (int j = 0; j < destMethod.length; j++) {
destMethodName2 = destMethod[j].getName();
methodFix2 = destMethodName2.substring(3,
destMethodName2.length());
if (destMethodName2.startsWith("set")) {
if (methodFix2.equals(methodFix1)) {
Object[] objs2 = new Object[1];
objs2[0] = sourceMethod[i].invoke(source,
new Object[0]);
// 只copy不为空的值
if (null != objs2[0]) {
destMethod[j].invoke(dest, objs2);
}
continue;
}
}
}
}
}
}
}
分享到:
相关推荐
打开设计器之后, 安装后打开报表设计器,选择配置-数据源-新建-关系数据库,开始配置数据源,笔者用的是mysql,以mysql举例: 其中关键位置如下: 数据源名称要记住,因为在部署的时候,配置数据库时名字要和这保持...
java为数据结构中的列表定义了一个接口类java.util.list同时提供了3个实现类,分别是ArrayList、Vector、LinkedList使用; 生成不重复的随机数序列;列表、集合与数组的互相转换;java为数据结构中的映射定义一个接口...
Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...
实例125 将数据保存到指定的文件中 175 实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个...
点文件 设置我的开发环境的文件集合 安装 先决条件: ... 该文件将被忽略,因此不会意外提交给源代码管理。 确保适当地复制/备份其内容。 MacOS首选项 ./util/macos VS代码首选项 ./util/vscode-extensions
这个项目包括我所有与EASE的开发有关的工作:EASE:用于钙成像数据的EM辅助源提取。 该项目最初是为了支持分析为项目收集的数据而启动的。 这里的目标是从钙成像数据中自动提取神经元及其活动,并与分段电子显微镜...
实例125 将数据保存到指定的文件中 175 实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 ...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...
Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...
leetcode ...将leetcode-helper-vX.X文件夹中的所有内容复制到您的工作目录。 如果你的工作目录是干净的,它看起来像, root ├── README.md ├── build.xml ├── demo/ │ └── two_sum/ │
将leetcode-helper-vX.X文件夹中的所有内容复制到您的工作目录。 如果你的工作目录是干净的,它看起来像, root ├── README.md ├── build.xml ├── demo/ │ └── two_sum/ │ └──
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
主要是根据游戏的状态数据绘制界面上的方块,GameView继承了View组件,重写View组件上的onDraw(Canvas canvas)方法,绘制游戏里的其它方块,还负责绘制连接方块的连接线。 13. yinhe.llk.view.Piece类: 一个Piece...
mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现关联数据的查询 mybatis实战教程mybatis in action之五与spring3集成附源码 mybatis实战教程mybatis in action之...
实例125 将数据保存到指定的文件中 175 实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例...