- 浏览: 95377 次
- 性别:
- 来自: 深圳
文章分类
最新评论
/**
* @see 深度克隆
* @param srcObj
* @return
*/
public static final Object depthClone(Object srcObj) {
Object cloneObj = null;
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream oo = new ObjectOutputStream(out);
oo.writeObject(srcObj);
ByteArrayInputStream in = new ByteArrayInputStream(out
.toByteArray());
ObjectInputStream oi = new ObjectInputStream(in);
cloneObj = oi.readObject();
oo.close();
oi.close();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return cloneObj;
}
* @see 深度克隆
* @param srcObj
* @return
*/
public static final Object depthClone(Object srcObj) {
Object cloneObj = null;
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream oo = new ObjectOutputStream(out);
oo.writeObject(srcObj);
ByteArrayInputStream in = new ByteArrayInputStream(out
.toByteArray());
ObjectInputStream oi = new ObjectInputStream(in);
cloneObj = oi.readObject();
oo.close();
oi.close();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return cloneObj;
}
发表评论
-
首页静态化步骤
2015-04-23 23:30 0首页静态化步骤: 1,定时器跑方法 fileName静态页面 ... -
浅析配置更快的Eclipse方法
2014-06-11 09:22 780很多人感觉自己的elipse启动比较慢,其实并不是因为装的插件 ... -
tomcat 启动获取service
2013-12-30 22:55 0ServletContext sc = getServletC ... -
ServletContextListener
2012-11-13 10:19 1031web.xml: <listener> ... -
IntelliJ Idea 常用快捷键列表 .
2012-05-18 13:32 1070Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl ... -
重要文件
2012-03-23 17:10 0存储引擎和索引 Maven Prototype Ma ... -
jsoup 抓数据
2012-03-06 09:44 0public static void main(String ... -
JAVA面试题集
2012-02-09 10:11 0JAVA面试题集 基础知识 ... -
eclipse反编译插件Jadclipse
2012-02-04 10:05 1059一、下载Jad http://www.kpd ... -
sql分页
2011-11-11 14:10 0public List findActBuy ... -
java利用exe4j生成exe可执行文件
2011-11-07 15:31 1199前言: 我们都知道Java可以将二进制程序打包成可执 ... -
数字在数组中出现的次数
2011-10-14 10:11 966import java.util.*; public c ... -
Ant入门教程
2011-08-30 13:40 724一、构建ant环境 要使用ant首先要构建一个ant环境,步 ... -
DateUtils
2011-07-25 16:14 3283public class DateUtils { p ... -
myeclipse 使用技巧
2011-07-07 19:32 873myeclipse 使用技巧 -Xms256m -Xmx10 ... -
HashSet详解:不能重复(对象的哈希代码一样),无序
2011-07-06 13:45 1827HashSet中不允许有重复的元素。例如: Set hash ... -
http://www.oschina.net/开源中国社区
2011-06-17 13:10 1674学习 网站 http://caihx.iteye.co ... -
静态方法
2011-05-25 15:50 750desturl:http://local.e1ht.com:8 ... -
web标准网站命名
2010-12-18 11:33 1344网页制作规范: 一:命名规范 01:文件命名的原则:以最 ... -
生成验证码步骤:
2010-12-18 11:29 984验证码步骤: 一:web.xml文件里加 < ...
相关推荐
### Java深度克隆知识点详解 #### 一、深度克隆概念 在Java中,深度克隆是一种用于创建对象副本的方法,它可以确保复制出的新对象与原对象之间没有任何引用关系,也就是说,新对象中的所有成员变量(包括引用类型)...
本文将深入探讨"深度克隆"这一概念,以及它与普通克隆的区别,并讨论其在实际应用中的优缺点。 深度克隆,也称为完全克隆,是一种创建新对象的技术,这个新对象不仅包含原始对象的所有属性值,还包含了嵌套对象的...
深度克隆是编程中一种重要的概念,特别是在处理复杂对象或者数据结构时,它能够创建一个完全独立的副本,这个副本不仅包含原始对象的所有属性,而且其内部引用的对象也会被复制,形成一个新的独立的对象树。...
在Java编程语言中,"深度克隆"是一个重要的概念,主要涉及到对象复制。深度克隆,也称为完全克隆,是指创建一个与原对象相同的新对象,不仅复制原对象的所有属性,还复制了原对象中引用的对象。这通常用于创建一个...
Gson深度克隆是一个利用Gson库实现对象深度克隆的工具,主要通过将对象序列化为JSON字符串,再从JSON字符串反序列化为新对象。其核心原理是利用Gson的序列化与反序列化特性,无需手动实现克隆逻辑。 主要特点: ...
JavaScript中的浅层克隆与深度克隆是两种不同的对象复制方式,它们主要处理对象和数组这类引用类型的数据。这两种克隆方法的区别在于处理对象内部引用值的方式,即对堆内存中对象的复制程度。 1. **浅层克隆**: ...
在.NET开发领域,深度克隆是一项重要的技术,用于创建对象的一个完全独立的副本,包括所有嵌套的对象。这里提到的“Natasha”是一个强大的动态编译框架,它提供了高效的代码生成和执行能力。而“dotnet-此项目为...
在JavaScript开发中,深度克隆是一个常见的需求,它主要用于创建对象的一个完全独立的副本,不会因为对原对象的修改而影响到副本。标题提到的"一个用于对象深度克隆的同构和可配置javascript函数"是指一个能够在...
可以更好的去理解java克隆的运用,尤其在多线程的运用过程中,多个对象进行操作过程中,可以先进行对 对象进行 备份,首先就克隆一份,当多线程对对象操作过程中,与异常情况,可以对对象进行恢复,克隆还其他的用途,学会...
Java对象的深度克隆是一种创建一个新对象的过程,该新对象与原始对象具有相同的数据,但两者之间相互独立,修改其中一个对象不会影响另一个。在Java中,深度克隆与浅克隆的区别在于处理对象内部引用的复杂性。浅克隆...
JavaScript中的对象深度克隆是一种创建新对象的过程,这个新对象完全复制了原始对象的所有属性,包括嵌套的对象和数组,而不会与原始对象共享引用。这意味着对克隆对象的任何修改都不会影响原始对象。在JavaScript中...
在JavaScript中,深度克隆(Deep Clone)是一种创建新对象的技术,这个新对象与原始对象具有相同的属性和值,但彼此之间互不影响。这在处理复杂数据结构时尤其有用,如对象包含嵌套对象或数组的情况。在描述的示例中...
在JavaScript中,深度克隆指的是创建一个新对象,其内容完全复制自源对象,包括所有嵌套的对象和数组。在处理复杂的数据结构时,深度克隆尤为重要,因为它能确保源对象不受目标对象的修改影响。标题提到的"一行代码...
标题提到的"nanoclone"是一个极简的JavaScript库,其核心代码只有145字节,但能实现深度克隆功能。这在追求轻量级解决方案的场景下显得尤为宝贵。 在JavaScript中,有多种实现深拷贝的方法。例如,可以使用JSON的...
beancopy ###java bean深度克隆的简单实现 Bean中必须有对应的getter, setter方法. 可以复制包含 "8种基本类型, String, java.util.Date, enum, Set, List 以及多层嵌套" 的Bean.
本文档是解决 引用问题的解决方案,它不仅可以解决引用值拷贝 ,还可以原样复制一个一摸一样的数组、对象包括其中的方法。
Java提供了两种主要的克隆方式:浅度克隆(Shallow Clone)和深度克隆(Deep Clone)。理解这两种克隆的区别对于优化内存管理和复制复杂对象至关重要。 **浅度克隆(Shallow Clone)** 浅度克隆仅仅复制了对象本身...
JavaScript对象的深度克隆是一种创建一个全新对象的过程,这个新对象与原始对象具有相同的数据结构,包括嵌套的对象和数组,但所有数据都是独立的副本,不会因为原对象的修改而受到影响。在JavaScript中,浅克隆只...
在Java中,克隆分为两种类型:浅克隆(Shallow Clone)和深度克隆(Deep Clone)。 1. 浅克隆(Shallow Clone) 浅克隆是Java克隆机制的默认行为。当一个对象被克隆时,如果它的成员变量是基本类型(如int、double...