问题标签 [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.
java - Java 复制构造函数和克隆不起作用
和
当我打电话时
nStav 的值将与 pomStav 相同...有人可以帮助我吗?我在代码中有更多方法,但它太长了,所以我没有像 findEmpty 等那样复制这里。
java - 为什么我可以选择在此处删除 throws 子句,即使我继承的接口定义了它?
有问题的接口是FileVisitor
,它定义了这个方法:
我非常简单的实现是这样的:
在这段代码摘录中标记的地方<-- HERE
,奇怪的是,IDEA(因为这是我选择的 IDE)告诉我声明该异常是不必要的......
由于 IDEA 并非没有错误,因此我决定尝试一下。我删除了异常并编译了!所以,IDEA 是对的。
然后我记得如果你实现Cloneable
了你不需要 throw CloneNotSupportedException
,这也是一个检查的异常,你的代码可以编译(当然,这不是规范的建议)。尽管Object
's .clone()
throws it。
实际上,当您@Override
clone() 并且不将其声明为 throwCloneableNotSupportedException
时,它仍然可以编译。
但。
然后我尝试了这个:
Callable
应该抛出Exception
,但到目前为止它可以编译;但是,如果我:
那么这是一个编译错误...
什么是什么?
编辑好的,有很大的不同;Cloneable
没有定义;_ 做。clone()
Object
java - 可克隆抛出 CloneNotSupportedException
error: unreported exception CloneNotSupportedException
当我尝试编译它时我得到了(在第 4 行,而不是主要的)。据我所知,实现的全部目的Cloneable
是摆脱异常。
- 有没有办法在
super.clone()
不抛出或捕获异常的情况下使用? - 接口实际上有什么作用吗?
java - Java中克隆的目的
我正在浏览 Java 的“特殊”功能,并开始阅读有关克隆的内容。
所以目前我所理解的是克隆可用于获取对象的相同副本。为此,您需要实现 Cloneable 接口并覆盖 Object 的 clone 方法(这在 IMO 中真的很奇怪)
我的问题更多是针对 C++ 和 Java 之间的比较。当我们已经支持复制构造函数时,为什么需要一个单独的克隆方法。为什么克隆被认为是必须具有的特征,是否有历史原因?
PS:我不是在问“克隆”的需要,因为在 Java 中克隆对象的需要是什么,我问的是当 Java 已经支持复制构造函数时需要 Cloneable 和 clone 方法。
java - 克隆如何比对象创建具有更高的性能
我试图了解 java 中的 clone() 方法下面发生了什么,我想知道如何比进行新调用更好
这是我的克隆代码,我想知道下面发生了什么,以及新调用之间的区别是什么。
这是我的客户代码
c++ - 具有 CRTP 可克隆类的无效协变类型
我正在尝试使用 CRTP 实现 Clonable 类。但是,我需要有一个具有纯虚拟克隆方法的抽象类,并被子类覆盖。为了实现这一点,我需要克隆函数返回一个协变返回类型。我在下面编写了这段代码,编译器对我大喊这个错误:
“B”类似乎是 AbstractClonable 的子类,甚至有两种方式!我该如何解决这个问题?非常感谢你。我尝试使用 clang 3.6 和 GCC 4.9.2
struct - 如何克隆存储盒装特征对象的结构?
我编写了一个具有 traitAnimal
和实现 trait 的结构的程序Dog
。它还有一个AnimalHouse
将动物存储为特征对象的结构Box<Animal>
。
它返回“鲍比:拉夫,拉夫!” 正如预期的那样,但如果我尝试克隆house
编译器会返回错误:
#[derive(Clone)]
我之前尝试添加struct AnimalHouse
并得到另一个错误:
如何使结构可AnimalHouse
克隆?一般来说,积极使用特征对象是惯用的 Rust 吗?
java - 我如何说服编译器对象是可克隆的(java)?
我想克隆给定的对象。
如果我这样做
这将不起作用,因为 o.clone() 受到保护。
如果我这样做
它也不起作用,因为 Cloneable 是一个空接口。
那么我如何让编译器相信你可以克隆 o?
java - 了解数组的克隆方法
我了解到,对于数组,该clone
方法表现良好,我们可以使用它。但我认为数组持有的元素的类型应该已经实现了Cloneable
接口。让我举个例子:
我认为 5 应该打印两次。这样做的原因是通过克隆数组,我们正在创建新数组,其中包含对第一个数组持有的对象的引用(因为元素的类型没有实现Cloneable
)。你不能把事情弄清楚吗?
目前尚不清楚数组元素的类型是否需要实现Cloneable
。
java - 使用 Cloneable 接口克隆复杂对象
我正在尝试使用 Cloneable 接口克隆一个复杂的对象。
我有一个名为 Resource 的超级对象,它有两个字段:
此外,此类 CollectionResource 扩展了具有复杂字段的 Resource,例如 Cursor、HashMap、DBHelper ... 等:
我需要克隆 CollectionResource 的一个实例,因为我需要使用不同的实例,所以我尝试简单地这样做:
它似乎工作......但我不明白为什么,因为我在 ResourceCollection 中使用复杂的对象,我没有在我的源代码上实现任何类型的深度克隆......
为什么它在没有深度克隆的情况下工作?为什么像 DBHelper、HashMap、Cursor 这样的复杂对象在没有深度克隆的情况下被克隆?我怀疑我做得不对,我会在不久的将来发现错误。
谢谢