Java Cloneable或copy构造函数,为什么我会使用其中的任何一个?这些策略实际上做了什么? [重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Cloneable或copy构造函数,为什么我会使用其中的任何一个?这些策略实际上做了什么? [重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我的问题很漂亮,所以请原谅我的无知,因为我是一个菜鸟。
我遇到了一些顾问在我工作的公司写的代码。当我尝试深入研究代码时,我不知道为什么一个类实现了一些名为clonable的接口。所以我试图谷歌这个可克隆的混乱,我所看到的就是“不要使用它”或“使用复制构造函数”之类的东西。我不知道这些是什么。有人可以详细说明实际需要这种克隆的原因吗?我为什么要克隆一个对象?
我与前顾问交谈,他提到这将使我们能够明显地链接方法。像questionSet.dosomething().doAnotherThing().dowth();
public class QuestionSet implements Cloneable {
...
/* (non-Javadoc)
* @see java.lang.Object#clone()
*/
@Override
public QuestionSet clone() {
return new QuestionSet(this);
}
...
}
答案
它用于将对象传递给其他方的情况。如果对象是可变的并且你不想冒险让对方改变你的对象,你可以只给它一个克隆或副本而不是原始对象。
以上是关于Java Cloneable或copy构造函数,为什么我会使用其中的任何一个?这些策略实际上做了什么? [重复]的主要内容,如果未能解决你的问题,请参考以下文章