最近有一些复制对象的问题。它的内部组织由几个嵌套对象组成。我注意到clone()
不可用。
解决问题的最佳解决方案是什么?
答案 0 :(得分:15)
如果该复杂对象是可变的或包含可变部分,则解决方案与Java中的相同。检查Java问题&关于它的帖子,并做到这一点。
如果一切都是不可变的,那么你不需要也不应该克隆任何东西。最好的情况是,你应该制作一个浅层的对象副本,只更改需要更改的字段,最坏的情况是,使用像镜头或拉链这样的东西来复制一些深层对象并向上传播更改。请参阅Scala关于镜片和拉链的问题。
答案 1 :(得分:1)
我得到了一个示例代码,用于克隆可变状态对象:Implementing '.clone' in Scala