问题标签 [cloneable]

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 投票
3 回答
388 浏览

list - 漂亮的 HABTM 列表条目

我有一个配方、项目和单位表/模型。我与配方和项目有 HABTM 关系,并且在添加/编辑配方时得到默认的多选框。(我大部分时间都在使用烘焙)。问题是我需要将数量和单位与每个项目相关联。

我希望的 UI 示例:

样本

它的一个重要组成部分是添加/删除/编辑单个项目的能力。我想看看提交的表单数据,并使用一些 jquery 和克隆会起作用。但我想知道是否有人已经为此创建了一个行为?

当前模型(缩短为相关内容,即删除的用户/注释/等):

.

.

0 投票
1 回答
253 浏览

java-me - j2me中的可克隆接口

我想实现可克隆的接口,但我做不到。我正在使用 J2me,它给了我在你的包中创建接口 Cloneable 的错误。据我所知,J2me 允许实现 Cloneable 接口,因为它是 jdk1 1.0 的一部分。请帮助我

0 投票
1 回答
2201 浏览

c# - 克隆一个我无法添加 ICloneable 的对象

我正在尝试创建对象的浅表副本(新实例),而无需手动设置每个字段。这个对象不是我有能力修改的类型,所以我无法进入对象并实现 ICloneable ......我有点卡住了。是否有一种简单的方法来简单地克隆一个对象,或者我是否必须实现一些 Clone() 方法来简单地将每个字段复制到一个新对象中?

提前感谢您的帮助!

0 投票
2 回答
356 浏览

java - 为什么将 clone() 方法保留在 Object 中?

如果一个类不是Cloneable这个类的任何对象都可以被克隆。那为什么clone()保留在Object类中而不是Cloneable界面中?

0 投票
1 回答
90 浏览

oop - 序列化导致深度克隆?

我正在阅读 ASF 贡献者写的一篇文章,他简要提到了深度克隆对象的“旧 Java 技巧”是将其序列化,然后将其反序列化回另一个对象。当我读到这篇文章时,我停了下来,想“嘿,这很聪明。” 不幸的是,深度克隆和连载都不是这篇文章的主题,因此作者从未给出他所谈论的例子,在线搜索也没有撤回任何类似的内容。

我不得不假设,我们正在谈论的东西看起来像这样:

假设我可能有点偏离(加上或减去几行代码),这是深度克隆对象的普遍接受的做法吗?这种方法有什么陷阱或警告吗?

是否存在未解决的同步/并发/线程安全问题?

因为如果这是深度克隆对象的最佳实践方式,我将虔诚地使用它。

0 投票
4 回答
186 浏览

java - 在什么情况下对象不应该是可克隆的?

基本集合接口(List、Map、Set)不扩展Cloneable接口。这样做是为了不对具体实现强制执行可克隆性。

所有集合类都实现了Cloneable接口,因此它们本质上都是可克隆的。也是一个标记接口,意味着它指示编译器/JVM 在幕后Cloneable做一些额外的工作,以便使该对象可克隆。

现在我的问题是:您不希望您的对象可克隆的情况是什么?

0 投票
2 回答
2034 浏览

java - 复制构造函数 v. 实现 Cloneable 接口

就“最佳实践”而言,哪种方法更适合创建对象的“深层副本”?

0 投票
2 回答
4715 浏览

java - java.lang.Cloneable 为什么不覆盖 java.lang.Object 中的 clone() 方法?

接口的 Java 规范java.lang.Cloneable将其自身定义为表示扩展它的任何对象也实现了clone()java.lang.Object. 具体来说,它说:

一个类实现该Cloneable接口以向该java.lang.Object#clone()方法指示该方法制作该类实例的逐个字段副本是合法的。

对我来说,这意味着应该假设每个扩展的类Cloneable因此也有一个public Object clone()方法。这使得很容易假设以下是一个有效的方法:

然而,情况并非如此,因为整个Cloneable源代码(无 javadoc)只是

这意味着它Cloneable#clone()不存在(并且尝试编译上面的示例方法会引发编译时错误,例如“ cannot find symbol: method clone()”)。源代码不应该Cloneable包含一些效果public Cloneable clone();吗?

为什么我们不允许假设实现的类Cloneablepublic Cloneable clone()方法?

0 投票
2 回答
161 浏览

java - 在克隆对象时需要我的逻辑帮助

在发布此之前,我阅读了以前的一些帖子,我真的没有看到我的逻辑有什么问题。(我已经花了 3 个小时了,这可能会扼杀我的欢乐时光)*我从不想知道答案,我喜欢努力工作,所以如果有人可以问我一个关于我正在努力实现什么的问题可以引导我使用您的线索或提示来思考答案。将不胜感激。* obj2 没有被克隆,所以在异常 stackTrace 后面,我发现同一行有一个 nullpointer 异常,这意味着 obj2 永远不会被克隆。请帮助我更努力地思考。

我的家长班

我的子类

我的测试班

我的错误输出

我在思考过程中遗漏了什么?我创建了接口,实现了它并在我的超类和子类中覆盖了它。我的子类将 super.clone() 引用到超类,而我认为超类中的 super.clone() 是指 Object 的 clone 方法。我在测试类中正确投射,但 obj2 在 compareTo 和 equals 中最终都为 null。我在想什么?

0 投票
4 回答
178 浏览

java - 如何在 Cloneable 中保护克隆方法?

我有一个非常简单的问题(我猜!)如何在 Cloneable 接口中保护克隆方法,而接口只能声明公共方法?