问题标签 [deep-copy]

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 投票
1 回答
20876 浏览

java - 如何在 Java 中制作 InputStream 的深拷贝

我想知道如何制作InputStream.

我知道可以使用 IOUtils 包来完成,但如果可能的话,我想避免使用它们。有谁知道另一种方法?

0 投票
2 回答
67 浏览

python - 我在传递给我的用户定义的 __deepcopy__ 函数的访问字典中放了什么?

我需要为我的一个类定义我自己的 deepcopy 函数。文档说该函数被__deepcopy__()传递了一个备忘录字典,用于跟踪哪些对象已经被复制,以避免在处理递归对象时陷入困境。然而,它并没有说明在字典中放什么。我是放入对象还是对象 ID?你如何使用它?我找不到任何解释它的网站,除了本书说不需要使用它,除非将它传递给__deepcopy__.

谢谢

0 投票
2 回答
748 浏览

c# - 实现一个抽象方法,它本身就是一个通用接口方法的实现

我得到这个过于复杂的类层次结构的编译错误。我想知道这是否与尝试使用混入泛型的 DeepCopy() 有关。

我收到以下编译器错误:

0 投票
13 回答
125529 浏览

ruby - 如何在 Ruby 中复制哈希?

我承认我有点像红宝石新手(现在正在编写 rake 脚本)。在大多数语言中,复制构造函数很容易找到。搜索了半个小时,没有在ruby中找到。我想创建哈希的副本,以便可以在不影响原始实例的情况下对其进行修改。

一些无法按预期工作的预期方法:

与此同时,我采用了这种不雅的解决方法

0 投票
3 回答
3854 浏览

entity-framework - 如何在实体框架 4 中进行深度复制(克隆)?

如何在实体框架 4 中进行深度复制(克隆)?我需要获取 EntityObject 的副本以及所有相关对象的副本。

0 投票
1 回答
2550 浏览

c# - DeepCopy A SortedDictionary

我有以下内容:

我想深拷贝。

VolumeInfoItem 是以下类:

我创建了以下扩展方法:

我不知道如何让 deepCopy 工作?

0 投票
2 回答
2129 浏览

java - 有没有办法深度克隆 JSoup Document 对象并返回完全相同的 HTML?

有没有办法深度克隆JSoup Document对象并返回完全相同的HTML

我有一个预解析的对象,我只想克隆它,因为我怀疑克隆会比总是再次解析HTML更快。

我试图通过迭代 Document 对象的所有元素来克隆它,但是我没有 doctype 声明等。

PS我当然不希望得到评论......

0 投票
3 回答
16504 浏览

java - 使用复制构造函数而不是 Object.clone 进行深度复制的正确方法

我有一些使用 Object.clone 执行深层复制的代码,但我正在尝试使用更“可接受”的复制构造函数技术来重写它。下面是我正在尝试做的两个简单示例,第一个使用克隆,第二个使用复制构造函数。

使用克隆的深拷贝

使用复制构造函数的深拷贝

我发现有趣的是,尽管大家都在谈论 Java 中克隆的弊端,但克隆替代方案需要更少的代码和更少的强制转换(至少在这种特殊情况下)。

我很感激有关复制构造函数替代方案的反馈。你会做不同的事情吗?谢谢。

0 投票
9 回答
48446 浏览

c# - List的深拷贝

我正在尝试制作通用列表的深层副本,并且想知道是否还有其他方法可以创建复制方法并实际一次复制每个成员。我有一个看起来有点像这样的类:

我有上述数据的列表,即List<Data>. 我正在尝试做的是将 List 子集的跟踪数据绘制到图表上,可能对数据进行一些缩放或扫描。我显然不需要绘制列表中的所有内容,因为它们不适合屏幕。

我最初尝试使用该List.GetRange()方法获取列表的子集,但似乎下面List<double>是浅复制而不是深复制。当我使用 List.GetRange() 再次获取子集时,我得到的是以前修改过的数据,而不是在其他地方检索到的原始数据。

谁能给我一个关于如何解决这个问题的方向?非常感谢。

0 投票
1 回答
1857 浏览

java - 在 Java 中复制嵌套对象

所以我有以下课程:

我被要求copy()在 A、B、C 类中定义方法。copy 方法本质上是复制所有嵌套对象。

我有两个问题:

  1. 我没有看到正在构造任何嵌套对象,为什么他要我制作所有嵌套对象的副本?是不是因为我在构造子类对象的时候,构造了一个基类对象并嵌套在子类对象里面?

  2. 将方法写成如下是否正确(以B类为例):