`

深层clone必备良药

 
阅读更多
import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;
public abstract class BeanUtil {

	@SuppressWarnings("unchecked")

	public static  <T> T cloneTo(T src) throws RuntimeException {

		ByteArrayOutputStream memoryBuffer = new ByteArrayOutputStream();

		ObjectOutputStream out = null;

		ObjectInputStream in = null;

		T dist = null;

		try {

			out = new ObjectOutputStream(memoryBuffer);

			out.writeObject(src);

			out.flush();

			in = new ObjectInputStream(new ByteArrayInputStream(memoryBuffer.toByteArray()));

			dist = (T) in.readObject();

		} catch (Exception e) {

			throw new RuntimeException(e);

		} finally {

			if (out != null)

				try {

					out.close();

					out = null;

				} catch (IOException e) {

					throw new RuntimeException(e);

				}

			if (in != null)

				try {

					in.close();

					in = null;

				} catch (IOException e) {

					throw new RuntimeException(e);

				}

		}

		return dist;

	}

}
分享到:
评论

相关推荐

    java Clone

    Java中的`clone`方法是Java语言提供的一种复制对象的方式,它允许创建一个对象的副本,这个副本与原对象具有相同的属性值,但它们是两个独立的对象,修改副本不会影响原对象。`clone`方法存在于Java的`java.lang....

    java_clone用法

    ### Java中的`clone`方法详解:浅拷贝与深拷贝 #### 一、引言 在Java中,`clone`方法提供了一种快速复制对象的方式。它属于`Object`类的一部分,但需要显式地在子类中声明并实现`Cloneable`接口才能正常使用。本文...

    clone()示例源码

    在Java编程语言中,`clone()`方法是一个非常重要的概念,特别是在处理对象复制和克隆时。这个方法源自`Object`类,是所有Java类的基类。`clone()`的使用通常涉及到深度复制和浅复制的概念,这两者在数据结构和内存...

    java clone的小例子

    在Java编程语言中,`clone()`方法是一个非常重要的概念,特别是在对象复制和克隆方面。这个小例子将帮助初学者理解如何在Java中使用`clone()`来创建对象的副本。让我们深入探讨`clone()`方法以及它在实际编程中的...

    git代码clone,submodule

    ### Git Clone与Submodule知识点详解 #### 一、Git Clone命令 `git clone` 命令用于克隆一个远程仓库到本地。当你需要获取一个项目的全部文件时,这个命令非常有用。 **基本用法:** ```bash git clone ``` **...

    java clone

    在Java编程语言中,`clone`是一个非常重要的概念,它涉及到对象复制和对象克隆。本文将深入探讨Java中的`clone`方法,包括其工作原理、使用场景、注意事项以及一些个人实践心得。 首先,让我们理解什么是`clone`。...

    git clone 最新版

    "git clone"是Git中的一个核心命令,用于复制远程仓库到本地。在本文中,我们将深入探讨`git clone`命令以及如何获取其最新版本。 首先,让我们了解`git clone`的基本用法。当你运行`git clone &lt;repository&gt;`时,它...

    jlink v9 warning clone解决

    `jlink v9 warning clone`问题通常涉及到JLink版本9在与MDK配合使用时遇到的警告,提示可能与克隆设备或非法设备相关。 标题中的"jlink v9 warning clone解决"意味着开发者正在尝试解决关于JLink v9版本出现的克隆...

    Jlink-clone解决办法,替换文件.rar

    当遇到"Jlink-clone"问题时,这通常指的是遇到了非原厂生产的、可能功能受限或者不稳定版本的J-Link设备。这类克隆设备可能会有兼容性问题、性能下降或不支持某些高级功能。本文将深入探讨如何解决Jlink-clone带来的...

    CLONE 10-ex

    标题“CLONE 10-ex”以及描述“Clone10-EX-LV2”暗示了我们正在处理一个可能与克隆或复制技术相关的项目,可能是软件、系统镜像或者某种形式的数据备份工具。"Clone"通常指的是在计算机科学中创建一个与原始对象完全...

    Java深浅clone

    在Java编程语言中,`...浅克隆适用于字段不包含可变对象或者对象的深层结构不需要独立的情况,而深克隆则在需要完整复制对象及其嵌套对象时更为适用。理解并正确使用这两种克隆方式对于编写健壮的Java代码至关重要。

    Clone详解.doc

    Java中的克隆(Clone)机制是一种创建对象副本的方法,它允许程序员复制一个对象的状态,而不会影响原始对象。克隆在编程中常用于创建对象的独立副本,使得新副本与原对象之间相互独立,对其中一个对象的修改不会...

    MinesweeperClone汉化版

    Minesweeper CLone 0.97 Saolei.net扫雷网,小门汉化 Men Shiyun Mine.exe 请自行下载MinesweeperClone_0.97.exe安装后使用

    windows git 批量 clone 脚本

    本文将深入探讨如何利用批处理脚本来实现这一目标,主要关注标题提及的"windows git 批量 clone 脚本"。我们将讨论每个文件的作用,并提供相关知识点。 首先,`clone-all.bat`是用于批量克隆Git仓库的脚本。在Git中...

    Jlink V8固件升级提示Clone的解决方法!

    在使用高版本版KEIL时,提示要升级固件,升级后就出现JLINK is Clone的提示!“the emulator is JLink-Clone, the segger software only support orginal segger device” 然后闪退,IDE崩溃关闭! 解决方案: 1....

    比nero更完美的刻录CD软件---CLONE_CD

    CLONE_CD是一款专业的CD复制软件,它在刻录领域中被誉为比Nero更为出色的选择,尤其是在数据保护和精确复制方面。这款软件的核心功能是提供无损的CD映像克隆,确保源盘与目标盘的一致性,尤其适用于备份音乐CD、游戏...

    jquery.clone.js

    jquery.clone

    Java clone方法使用

    详细的描述了Java中 clone方法使用

    关于JLINK固件丢失或升级固件后提示Clone的解决办法

    解决 JLINK 固件丢失或升级固件后提示 Clone 的问题 在使用 JLINK 仿真器进行单片机开发时,可能会遇到固件丢失或升级固件后提示 Clone 的问题,本文将提供解决该问题的步骤。 问题描述 使用 JLINK 仿真器时,...

    Java中的克隆(Clone)机制

    在Java编程语言中,克隆(Clone)机制是一种创建对象副本的方法,它允许开发者创建一个已有对象的新实例,这个新实例与原对象具有相同的属性值,但却是两个独立的对象,彼此的操作不会互相影响。克隆机制在某些情况...

Global site tag (gtag.js) - Google Analytics