问题标签 [clone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
21 回答
464739 浏览

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

如何ArrayList在 Java 中克隆并克隆其项目?

例如我有:

而且我希望其中的对象clonedList与狗列表中的对象不同。

0 投票
77 回答
2144764 浏览

javascript - 如何正确克隆 JavaScript 对象?

我有一个对象x。我想将其复制为 object y,以便更改为y不修改x。我意识到复制从内置 JavaScript 对象派生的对象会导致额外的、不需要的属性。这不是问题,因为我正在复制我自己的文字构造对象之一。

如何正确克隆 JavaScript 对象?

0 投票
2 回答
6133 浏览

.net - 由于对象的当前状态,操作无效

“由于对象的当前状态,操作无效”在 .net 中的 .Clone() 操作中引发异常。

我正在使用框架 2.0。

任何想法可能是什么原因。

提前致谢。

拉维

0 投票
2 回答
2466 浏览

c# - 在 C# 中使用 Moq 对克隆方法进行单元测试

我有一些带有克隆方法的基本类:

我想要一个单元测试,它会告诉我是否添加了 ValueD,但忘记将其添加到 Clone 方法中。我的第一次尝试是使用 Moq 及其 VerifyGet 方法来确保访问每个属性。

这不起作用,因为 VerifyGet 方法需要知道 Property 访问器的返回类型,而且我想不出任何在运行时插入它的方法(你会注意到我尝试使用崩溃的“对象”的蹩脚尝试)烧毁)。

我什至不确定使用起订量是个好主意,这只是我的第一个。

更新:由于没有快速简便的通用方法来测试克隆方法,我决定为每个类编写特定于类型的测试。这仍然给我留下了知道何时添加属性的问题。我决定将其附加到我的克隆单元测试中:

如果我添加一个属性,测试将失败。当签名匹配失败时,它仍然取决于我是否有足够的责任来修复测试的其余部分。

0 投票
2 回答
1535 浏览

c# - 克隆 Web 服务的最简单方法是什么?

我正在开发一个项目,我们将使用 .NET (c#) 连接到 Oracle Web 服务。唯一的事情是我们将从我们的办公地点构建我们的客户端,但我们的客户不会让我们远程访问他们的网络服务(公司政策等)。所以我们的解决方案是访问我们的客户现场并“克隆”他们的网络服务,以便我们可以使用代理网络服务来开发我们的客户。

克隆此 Web 服务的最佳方法是什么?

我们的克隆将需要输出样本数据,但使用它们的确切方法调用和类型。我们首选的克隆语言是 c#。

0 投票
2 回答
1236 浏览

git - 克隆 git 存储库时如何自动保留别名?

我在我的 git 存储库的配置文件中设置了一堆方便的别名。我偶尔会克隆这个存储库(例如到我的笔记本电脑上),但克隆不包括我设置的任何别名,大概是因为克隆没有复制存储别名的 git config 文件。但是,我希望在使用克隆时可以使用这些别名,而不必手动重新设置它们。有没有人找到一个好的解决方案?

0 投票
5 回答
3427 浏览

java - 有没有其他方法可以在 Java 中实现克隆?

在我的 Java 项目中,我有一个包含各种类型交易者的向量。这些不同类型的交易者是交易者类的子类。现在,我有一个将 Trader 作为参数并在向量中存储 50 次左右的方法。我遇到了问题,因为存储同一个对象 50 次只是存储同一个对象的 50 个引用。我需要存储该对象的 50 个副本。我已经研究过实现Clone,但我不希望定义 Trader 类型的程序员不得不担心使他们的类可克隆。此外,正如this page所指出的,实现克隆会产生各种问题。我认为复制构造函数也不会起作用,因为如果我在 Trader 类中定义了一个,它就不会知道它正在复制的 Trader 的类型,而只会创建一个通用的 Trader。我能做些什么?

编辑:我真的不想制作某个对象的精确副本。我真正想做的是将一定数量的交易者添加到向量中。问题是用户需要在参数中指定他想要添加的交易者类型。这是我正在尝试做的一个示例:(尽管我的语法完全是虚构的)

我怎样才能在 Java 中实现这样的目标?

0 投票
1 回答
256 浏览

c# - 如何在 c# 中向 HashTable 添加不同的克隆对象?

我将密钥和对象传递给需要克隆该对象并将其与密钥一起存储在 hastable 中的类实例。我该怎么做???

0 投票
4 回答
3458 浏览

c# - 缓存对象的高效克隆

我们有一个应用程序对数据对象执行比较以确定对象的一个​​版本是否不同于另一个版本。我们的应用程序还对这些对象进行了一些广泛的缓存,在进行这些比较时我们遇到了一些性能问题。

这是工作流程:

  1. 数据项 1 是内存中的当前项。该项目最初是从缓存中检索并深度克隆的(所有子对象,例如字典等)。然后编辑数据项 1,并修改其属性。
  2. 然后,我们将此对象与存储在缓存中的原始版本进行比较。由于数据项 1 已被克隆并且其属性已更改,因此这些对象应该是不同的。

这里有几个问题。

主要问题是我们的深度克隆方法非常昂贵。我们针对浅克隆对其进行了分析,它的速度慢了 10 倍。那是废话。这是我们深度克隆的方法:

我们最初使用以下内容进行克隆:

这是更高的性能,但是因为它做了一个浅层克隆,所以作为该对象属性的所有复杂对象,例如字典等,都没有被克隆。该对象仍将包含与缓存中的对象相同的引用,因此在比较时属性将相同。

那么,有没有人有一种有效的方法对 C# 对象进行深度克隆,包括克隆整个对象图?

0 投票
6 回答
21588 浏览

java - 使用泛型克隆

从前有一堂课:

在对象中,我们有:

而Cloneable接口是:

我应该如何克隆这个?