如果该复杂对象是可变的或包含可变部分,则解决方案与Java相同。检查关于此的Java问题和帖子,并进行操作。如果所有内容都是不可变的,则无需克隆任何东西,也不应该这样做。最好的情况下,您应该只复制需要更改的字段的浅层副本;最坏的情况下,您可以使用像lenses或zippers这样的东西来复制一些深层对象并向上传播更改。有关lenses和zippers的问题,请参见Scala的问题。