深度克隆(复制)可变 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)