scala - 深度克隆(复制)可变 Scala 对象的最简单方法是什么?

标签 scala clone

深度克隆(复制)可变 Scala 对象的最简单方法是什么?

最佳答案

由于您想要深度复制 Scala 对象的最简单方法而不是最快方法,因此您始终可以序列化该对象,前提是它是可序列化的,然后将其反序列化。以下代码仅在编译时运行,而不是在 REPL 中运行。

def deepCopy[A](a: A)(implicit m: reflect.Manifest[A]): A =
  util.Marshal.load[A](util.Marshal.dump(a))

val o1 = new Something(...) // "Something" has to be serializable
val o2 = deepCopy(o1)

关于scala - 深度克隆(复制)可变 Scala 对象的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1267436/

相关文章:

scala - 匹配列表列表中的单个元素

c++ - C++ 中 clone() 的最佳签名是什么?

java克隆sqlite数据库文件

scala - 使用 Scala 和 Dispatch 进行 HTTPS POST

scala - 如何使用 Scala 计算 NetCDf 文件中的小时数

scala - 在Slick 3.0中,为什么新引入的 `Streaming`有用?

java - 如何在Java中对同一个对象进行多次引用

git - 克隆空的、*裸* git 存储库的最直接方法是什么?

c++ - 克隆在 C++ 中导致段错误

regex - 已弃用 - Scala 正则表达式模式匹配