Scala collection.mutable.Cloneable用途

Scala collection.mutable.Cloneable用途,scala,mutable,cloneable,Scala,Mutable,Cloneable,在尝试克隆可变集合时,我最初的方法是对mutable.Cloneable特性使用clone()方法。但是,这取决于java.Object.clone实现,该实现创建引用的副本,而不是深度副本。通过测试,我可以确认可变。{Queue,Seq,Set}都是浅拷贝 我已经采用了粗糙的新xxx(copy:*)方法来创建深度副本,但我的问题是,如果不实现,可变克隆特性的目的是什么?在许多集合类上实现了可变克隆特性。以下是几个例子: 只是clone没有定义为返回深度拷贝。这样做的原因是,通常您只想复制

在尝试克隆可变集合时,我最初的方法是对mutable.Cloneable特性使用clone()方法。但是,这取决于java.Object.clone实现,该实现创建引用的副本,而不是深度副本。通过测试,我可以确认可变。{Queue,Seq,Set}都是浅拷贝


我已经采用了粗糙的新xxx(copy:*)方法来创建深度副本,但我的问题是,如果不实现,可变克隆特性的目的是什么?

在许多集合类上实现了
可变克隆特性。以下是几个例子:

只是
clone
没有定义为返回深度拷贝。这样做的原因是,通常您只想复制一个可变集合,这样您就可以在不更改原始集合的情况下以某种方式对其进行修改—保留在其中的实际元素可能希望保持不变

如果需要深度复制,则必须使用自定义深度复制库或自己实现