gpt4 book ai didi

java - 什么情况下对象不应该是 Clonable 的?

转载 作者:行者123 更新时间:2023-12-02 01:41:47 26 4
gpt4 key购买 nike

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

所有集合类都实现了Cloneable接口(interface),因此它们本质上都是可克隆的。另外,Cloneable 是一个标记接口(interface),这意味着它向编译器/JVM 发出信号,让其在幕后做一些额外的工作,以便使该对象可克隆。

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

最佳答案

Singleton 就是一个很好的例子。另一种是您对系统上的某个内容有引用的任何内容,而您应该只对它有一个引用。例如,一个流。让多个对象指向同一个输入(或输出)流可能会导致各种问题。

如果您想使用clone(),请考虑创建一个复制构造函数

关于java - 什么情况下对象不应该是 Clonable 的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8500035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com