在实践中往往需要使用到克隆,您可以使用java本身提供的克隆实现,这里我就不说这种实现了。
给您介绍两种比较常用的方法,第一个是dozer。第二个是apache commons-beanutil,希望对大家有帮助
第一种实现依赖包分别是commons-lang.jar,commons-loggin.jar,commons-collections.jar,commons-beanutils.jar
如:
import net.sf.dozer.util.mapping.DozerBeanMapper;
import net.sf.dozer.util.mapping.MapperIF;
public class XZou {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public XZou(){
}
public XZou(XZou zou){//构造函数中克隆
MapperIF mapper = new DozerBeanMapper();
mapper.map(zou, this);
}
public static void main(String[] args) {
XZou zou1 = new XZou();
zou1.setName("张三");
System.out.println(zou1.getAge());// 0岁
XZou zou2 = new XZou(zou1);//克隆一个对象zou2,他的名称和年龄和zou1是一样的
zou1.setAge(10);//设置zou1的年龄是10岁
System.out.println(zou1.getAge());//10
System.out.println(zou2.getName() + "," + zou2.getAge());//张三,0
}
}
第二种commons-beanutil实现依赖包分别是commons-loggin.jar,commons-collections.jar,commons-beanutils.jar
如:
import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.BeanUtils;
public class XZou {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public XZou(){
}
public static void main(String[] args) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
XZou zou1 = new XZou();
zou1.setName("张三");
System.out.println(zou1.getAge());// 0岁
XZou zou2 = (XZou) BeanUtils.cloneBean(zou1);//克隆一个对象zou2,他的名称和年龄和zou1是一样的
zou1.setAge(10);//设置zou1的年龄是10岁
System.out.println(zou1.getAge());//10
System.out.println(zou2.getName() + "," + zou2.getAge());//张三,0
}
}
分享到:
相关推荐
在Unity3D中实现克隆脚本 Posted on 2013年03月10日 by U3d / Unity3D脚本/插件/被围观 235 次 在Unity中实现克
EBS R12.2环境克隆(使用rman备份);
基于Linux系统网络克隆的实现.pdf
设计模式-克隆模式(讲解及其实现代码)
1、客户端电脑无须U盘启动、无须光驱启动等等,即可实现网络启动克隆,非常方便。支持批量同时克隆。特别是在批量装机时,免开拆机箱实现无驱克隆。 2、自动网络克隆,我们的操作只需要选择克隆文件即可,无须输入...
1、客户端电脑无须U盘启动、无须光驱启动等等,即可实现网络启动克隆,非常方便。 2、自动网络克隆,我们的操作只需要选择克隆文件即可,无须输入会话名称,无须太多的人工干预; 3、支持克隆文件的拖曳(可惜!对...
在网吧里,最常用的快速恢复硬盘数据的方法就是使用赛门铁克公司出品的诺顿克隆(Norton Ghost)。从盘到盘(Disk To Disk),分区到分区(Partition To Partition)或恢复镜像文件的方法很容易掌握,而通过网络实现克隆...
oracle19c 远程克隆PDB详细步骤
js 实现 克隆表格! 值得下载看看!资源免费,大家分享!!
简单的Yelp克隆使用Redux Saga, Google maps api, React Router v4, react-boilerplate实现
大地图克隆体交互引擎使用说明: 将作品中的下面三个角色添加到你的作品中: #modules/常用 (包含引擎相关的全局积木); 背景(作为大地图的背景,以及障碍物); 摄像头(负责大地图中,视野的移动以及缩放); ...
1、客户端电脑无须U盘启动、无须光驱启动等等,即可实现网络启动克隆,非常方便。支持批量同时克隆。特别是在批量装机时,免开拆机箱实现无驱克隆。 2、自动网络克隆,我们的操作只需要选择克隆文件即可,无须输入...
本软件集成了对VMware虚拟机的一键批量克隆(链接或者完整克隆)、一键批量启动、一键延迟启动、批量挂起关机重启等功能。极大提高了用户对虚拟机的管理及使用效率,真正实现全自动无人值守等。
java的两种深度克隆方法,1cloneTest是用Cloneable接口的clone方法实现(对象必须要实现cloneable接口).2cloneSerialize.java是用对象流写对象到byte数组中,然后从byte数组中取得对象.(对象必须要实现serializble接口)
网络克隆是一种短时间内在大批量电脑上安装操作的一种先进的方法,目前实现的方法主要有两种,一种是在客户机上面使用存放引导文件,这种方法灵活性不太好,另一种方法是使用支持PXE的网卡来从服务器上面下载引导文件,...
使用MabSelectXtra实现单克隆抗体IgG4高纯度和高产量中式规模捕获.pdf
适用于正在学虚拟化与云计算这门课的学生,里面包含快照管理和克隆虚拟机技术,可以直接下载使用; 一、克隆 副本虚拟机拥有源虚拟机相同的属性,但是副本虚拟机和原始虚拟机有不同的MAC地址和UUID,因此这就允许...
完成自动安装操作系统,需用到两种软件:MaxDOS8和deepin GHOST。其中MaxDOS8用于创建已装系统的镜像,deepinGHOST用于镜像的网络组播,即通过PXE启动模式同时安装多台电脑的操作系统。 给出了具体的操作步骤和详细...
1、客户端电脑无须U盘启动、无须光驱启动等等,即可实现网络启动克隆,非常方便。支持批量同时克隆。特别是在批量装机时,免开拆机箱实现无驱克隆。 2、自动网络克隆,我们的操作只需要选择克隆文件即可,无须输入...