clone相关内容

clone() vs 复制构造函数 vs 工厂方法?

我对在 Java 中实现 clone() 做了一个快速的谷歌搜索,发现:http://www.javapractices.com/topic/TopicAction.do?Id=71 它有以下评论: 复制构造函数和静态工厂方法提供了一种替代克隆的方法,并且更容易实现. 我想做的就是做一个深拷贝.实现 clone() 似乎很有意义,但是这篇谷歌排名很高的文章让我有点害怕. 以 ..
发布时间:2021-11-25 17:43:27 Java开发

在 Java 中,什么是浅拷贝?

java.util.Calendar.clone() 返回“...具有相同属性的新日历"并返回“此日历的浅拷贝". 这似乎不是所回答的浅拷贝此处 在 SO 上.这个问题被标记为与语言无关,Java 似乎没有遵循与语言无关的定义.当我逐步执行代码时,我注意到结构和元素被复制到这个新对象,而不仅仅是语言不可知的结构. 在 Java 中,什么是浅拷贝? 它与 Java 深拷贝(如果存在 ..
发布时间:2021-11-25 16:53:22 Java开发

深拷贝、浅拷贝、克隆

我需要澄清 Java 中深拷贝、浅拷贝和克隆之间的区别 解决方案 不幸的是,“浅拷贝"、“深拷贝"和“克隆"都是定义不明确的术语. 在 Java 上下文中,我们首先需要区分“复制值"和“复制对象". int a = 1;int b = a;//复制一个值int[] s = 新的 int[]{42};int[] t = s;//复制一个值(上面数组的对象引用)StringBuffer ..
发布时间:2021-11-25 16:06:55 Java开发

Clone() vs Copy 构造函数——在java中推荐

java 中的克隆方法与复制构造函数.哪个是正确的解决方案.在哪里使用每个案例? 解决方案 Clone 已损坏,请勿使用. Object 类的克隆方法是一种有点神奇的方法没有任何纯 Java 方法可以做到做:它产生一个相同的副本它的对象.它已经出现在原始对象超类,因为Java 的 Beta 发布日编译器*;它,就像所有古老的魔法,需要适当的阻止咒语的咒语意外适得其反 首选复制对 ..
发布时间:2021-11-25 14:02:23 Java开发

如何正确覆盖克隆方法?

我需要在没有超类的对象之一中实现深度克隆. 处理超类(即Object)抛出的已检查CloneNotSupportedException的最佳方法是什么? 一位同事建议我按以下方式处理: @Override公共 MyObject 克隆(){我的对象 foo;尝试{foo = (MyObject) super.clone();}catch (CloneNotSupportedExcept ..
发布时间:2021-11-25 13:27:49 Java开发

Java:深度克隆/复制实例的推荐解决方案

我想知道是否有推荐的方法在 Java 中进行实例的深度克隆/复制. 我有 3 个解决方案,但我可能会错过一些,我想听听您的意见 编辑:包括 Bohzo 命题并改进问题:它更多地是关于深克隆而不是浅克隆. 自己动手: 在属性之后手动对克隆进行编码,并检查是否也克隆了可变实例. 专业: - 控制将要执行的操作 - 快速执行 缺点: - 编写和维护繁琐 - 容易出错( ..
发布时间:2021-11-25 11:38:09 Java开发

你如何制作对象的深拷贝?

实现深度对象复制功能有点困难.您采取了哪些步骤来确保原始对象和克隆对象不共享任何引用? 解决方案 一个安全的方法是序列化对象,然后反序列化.这可确保所有内容都是全新的参考. 这里有一篇文章介绍如何有效地做到这一点. 注意事项:类可能会覆盖序列化,从而不创建新实例,例如对于单身人士.如果您的类不可序列化,这当然也不起作用. ..
发布时间:2021-11-25 11:07:49 Java开发

如何克隆 ArrayList 并克隆其内容?

如何克隆 ArrayList 并在 Java 中克隆其项目? 例如我有: ArrayList狗 = getDogs();ArrayListclonedList = ....与狗有关.... 而且我希望 clonedList 中的对象与 Dogs 列表中的对象不同. 解决方案 您将需要迭代这些项目,并一个一个地克隆它们,并在执行过程中将这些克隆体放入您的结果数组中. public ..
发布时间:2021-11-25 10:47:33 Java开发

如何在 Java 中复制对象?

考虑下面的代码: DummyBean dum = new DummyBean();dum.setDummy("foo");System.out.println(dum.getDummy());//打印 'foo'DummyBean dumtwo = 哑;System.out.println(dumtwo.getDummy());//打印 'foo'dum.setDummy("bar");Syst ..
发布时间:2021-11-25 10:26:53 Java开发

在 Java 中克隆对象 [3 题]

这样做会不会调用Asub的clone方法?还是 Asub 深度克隆正确?如果不是,有没有办法通过这种方法获得深度克隆Asub? abstract class Top extends TopMost {受保护的对象克隆(){对象 obj = super.clone();//深度复制并尝试捕获}}抽象类 A 扩展了 Top {受保护的对象克隆(){对象 obj = super.clone();//深 ..
发布时间:2021-11-25 09:57:21 Java开发

Java克隆抽象对象

我想知道是否有任何方法可以执行以下操作.我有一个抽象类 Shape 及其所有不同的子类,我想覆盖 clone 方法.我想要在该方法中做的就是从当前的 toString() 创建一个新的 Shape.显然我不能做以下事情,因为 Shape 是抽象的.有没有另一种方法可以做到这一点,因为在每个子类中覆盖克隆只是为了简单的名称更改似乎没有用. 公共抽象类Shape {公共形状(字符串 str){//从 ..
发布时间:2021-11-25 09:36:55 Java开发

如何在具有抽象类的多重继承的 C++ 中使用 clone()?

我正在开发 C++ 程序,但在使用克隆时遇到多重继承问题.问题(以简化形式)如下. 我希望能够克隆从类 Base 派生的所有对象. class Base{民众:virtual Base* clone()const=0;}; 我想定义另外两个从 Base 派生的类,它们都是抽象的,即我不能定义 clone 函数,但我必须以某种方式声明它们(我想确保,如果我克隆 Derived*,我将返回 ..
发布时间:2021-11-25 09:05:34 C/C++开发

Java克隆抽象对象

我想知道是否有任何方法可以执行以下操作.我有一个抽象类 Shape 及其所有不同的子类,我想覆盖 clone 方法.我想要在该方法中做的就是从当前的 toString() 创建一个新的 Shape.显然我不能做以下事情,因为 Shape 是抽象的.有没有另一种方法可以做到这一点,因为在每个子类中覆盖克隆只是为了简单的名称更改似乎没有用. 公共抽象类Shape {公共形状(字符串 str){//从 ..
发布时间:2021-11-25 08:48:56 Java开发

MySQL:在同一个 MySql 实例上克隆一个 MySQL 数据库

我想编写一个脚本,将我当前的数据库 sitedb1 复制到同一个 mysql 数据库实例上的 sitedb2.我知道我可以将 sitedb1 转储到 sql 脚本: mysqldump -u root -p sitedb1 >~/db_name.sql 然后将其导入sitedb2.有没有更简单的方法,无需将第一个数据库转储到 sql 文件中? 解决方案 正如手册中所说的 复制数据库 您 ..
发布时间:2021-11-20 22:22:30 数据库

MySQL:在同一个 MySql 实例上克隆一个 MySQL 数据库

我想编写一个脚本,将我当前的数据库 sitedb1 复制到同一个 mysql 数据库实例上的 sitedb2.我知道我可以将 sitedb1 转储到 sql 脚本: mysqldump -u root -p sitedb1 >~/db_name.sql 然后将其导入sitedb2.有没有更简单的方法,无需将第一个数据库转储到 sql 文件中? 解决方案 正如手册中所说的 复制数据库 您 ..
发布时间:2021-11-20 22:06:58 数据库

Java:深度克隆/复制实例的推荐解决方案

我想知道是否有推荐的方法在 Java 中进行实例的深度克隆/复制. 我有 3 个解决方案,但我可能会错过一些,我想听听您的意见 编辑:包括 Bohzo 命题并改进问题:它更多地是关于深克隆而不是浅克隆. 自己动手: 在属性之后手动对克隆进行编码,并检查是否也克隆了可变实例. 专业: - 控制将要执行的操作 - 快速执行 缺点: - 编写和维护繁琐 - 容易出错( ..
发布时间:2021-11-19 22:48:59 Java开发

你如何制作对象的深拷贝?

实现深度对象复制功能有点困难.您采取了哪些步骤来确保原始对象和克隆对象不共享任何引用? 解决方案 一个安全的方法是序列化对象,然后反序列化.这可确保所有内容都是全新的参考. 这里有一篇文章介绍如何有效地做到这一点. 注意事项:类可能会覆盖序列化,从而不创建新实例,例如对于单身人士.如果您的类不可序列化,这当然也不起作用. ..
发布时间:2021-11-19 22:40:17 Java开发

如何克隆 ArrayList 并克隆其内容?

如何克隆 ArrayList 并在 Java 中克隆其项目? 例如我有: ArrayList狗 = getDogs();ArrayListclonedList = ....与狗有关.... 而且我希望 clonedList 中的对象与 Dogs 列表中的对象不同. 解决方案 您将需要迭代这些项目,并一个一个地克隆它们,并在执行过程中将这些克隆体放入您的结果数组中. public ..
发布时间:2021-11-19 22:34:47 Java开发

如何在 Java 中复制对象?

考虑下面的代码: DummyBean dum = new DummyBean();dum.setDummy("foo");System.out.println(dum.getDummy());//打印 'foo'DummyBean dumtwo = 哑;System.out.println(dumtwo.getDummy());//打印 'foo'dum.setDummy("bar");Syst ..
发布时间:2021-11-19 22:29:40 Java开发