Java Cloneable或copy构造函数,为什么我会使用其中的任何一个?这些策略实际上做了什么? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我的问题很漂亮,所以请原谅我的无知,因为我是一个菜鸟。

我遇到了一些顾问在我工作的公司写的代码。当我尝试深入研究代码时,我不知道为什么一个类实现了一些名为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 spring java-ee copy-constructor cloneable
1个回答
1
投票

它用于将对象传递给其他方的情况。如果对象是可变的并且你不想冒险让对方改变你的对象,你可以只给它一个克隆或副本而不是原始对象。

© www.soinside.com 2019 - 2024. All rights reserved.