`
lhxctc
  • 浏览: 52176 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

经常使用的一些克隆实现

    博客分类:
  • Java
阅读更多
在实践中往往需要使用到克隆,您可以使用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
		
		
	}
	
	
}

0
0
分享到:
评论

相关推荐

    在Unity3D中实现克隆脚本2

    在Unity3D中实现克隆脚本 Posted on 2013年03月10日 by U3d / Unity3D脚本/插件/被围观 235 次 在Unity中实现克

    EBS R12.2环境克隆(使用rman备份)

    EBS R12.2环境克隆(使用rman备份);

    基于Linux系统网络克隆的实现.pdf

    基于Linux系统网络克隆的实现.pdf

    设计模式-克隆模式(讲解及其实现代码)

    设计模式-克隆模式(讲解及其实现代码)

    自动网络克隆工具

    1、客户端电脑无须U盘启动、无须光驱启动等等,即可实现网络启动克隆,非常方便。支持批量同时克隆。特别是在批量装机时,免开拆机箱实现无驱克隆。 2、自动网络克隆,我们的操作只需要选择克隆文件即可,无须输入...

    自动网络克隆服务辅助工具

    1、客户端电脑无须U盘启动、无须光驱启动等等,即可实现网络启动克隆,非常方便。 2、自动网络克隆,我们的操作只需要选择克隆文件即可,无须输入会话名称,无须太多的人工干预; 3、支持克隆文件的拖曳(可惜!对...

    网络克隆教程

    在网吧里,最常用的快速恢复硬盘数据的方法就是使用赛门铁克公司出品的诺顿克隆(Norton Ghost)。从盘到盘(Disk To Disk),分区到分区(Partition To Partition)或恢复镜像文件的方法很容易掌握,而通过网络实现克隆...

    19c RAC远程克隆PDB.docx

    oracle19c 远程克隆PDB详细步骤

    js 实现 克隆表格

    js 实现 克隆表格! 值得下载看看!资源免费,大家分享!!

    react-简单的Yelp克隆使用React技术栈实现

    简单的Yelp克隆使用Redux Saga, Google maps api, React Router v4, react-boilerplate实现

    Scratch 3d 作品素材:大地图+克隆体交互引擎

    大地图克隆体交互引擎使用说明: 将作品中的下面三个角色添加到你的作品中: #modules/常用 (包含引擎相关的全局积木); 背景(作为大地图的背景,以及障碍物); 摄像头(负责大地图中,视野的移动以及缩放); ...

    自动网络克隆工具 v2.3.01绿色免费版

    1、客户端电脑无须U盘启动、无须光驱启动等等,即可实现网络启动克隆,非常方便。支持批量同时克隆。特别是在批量装机时,免开拆机箱实现无驱克隆。 2、自动网络克隆,我们的操作只需要选择克隆文件即可,无须输入...

    VMware虚拟机助手V1.4 VMware批量克隆

    本软件集成了对VMware虚拟机的一键批量克隆(链接或者完整克隆)、一键批量启动、一键延迟启动、批量挂起关机重启等功能。极大提高了用户对虚拟机的管理及使用效率,真正实现全自动无人值守等。

    java克隆对象(两种方法)

    java的两种深度克隆方法,1cloneTest是用Cloneable接口的clone方法实现(对象必须要实现cloneable接口).2cloneSerialize.java是用对象流写对象到byte数组中,然后从byte数组中取得对象.(对象必须要实现serializble接口)

    网络克隆知识总结,帮你选择正确的克隆方式

    网络克隆是一种短时间内在大批量电脑上安装操作的一种先进的方法,目前实现的方法主要有两种,一种是在客户机上面使用存放引导文件,这种方法灵活性不太好,另一种方法是使用支持PXE的网卡来从服务器上面下载引导文件,...

    使用MabSelectXtra实现单克隆抗体IgG4高纯度和高产量中式规模捕获.pdf

    使用MabSelectXtra实现单克隆抗体IgG4高纯度和高产量中式规模捕获.pdf

    虚拟化与云计算;快照拍摄管理及克隆虚拟机

    适用于正在学虚拟化与云计算这门课的学生,里面包含快照管理和克隆虚拟机技术,可以直接下载使用; 一、克隆  副本虚拟机拥有源虚拟机相同的属性,但是副本虚拟机和原始虚拟机有不同的MAC地址和UUID,因此这就允许...

    网络克隆技术的实现步骤

    完成自动安装操作系统,需用到两种软件:MaxDOS8和deepin GHOST。其中MaxDOS8用于创建已装系统的镜像,deepinGHOST用于镜像的网络组播,即通过PXE启动模式同时安装多台电脑的操作系统。 给出了具体的操作步骤和详细...

    自动网络克隆工具v2.2霏凡专版

    1、客户端电脑无须U盘启动、无须光驱启动等等,即可实现网络启动克隆,非常方便。支持批量同时克隆。特别是在批量装机时,免开拆机箱实现无驱克隆。 2、自动网络克隆,我们的操作只需要选择克隆文件即可,无须输入...

Global site tag (gtag.js) - Google Analytics