Lui*_*hys 21
在Java中,他们尝试clone通过clone在所有超类中调用来解决这个问题,但这通常被认为是破坏的并且最好避免,原因是你可以查找(例如这里).
因此,在Scala中,作为Java中的通常,您必须为任意类创建自己的复制方法,这将允许您指定诸如深度和浅层复制字段之类的内容.
如果你让你上课case class,你可以copy免费获得一个方法.它实际上比那更好,因为你可以同时更新任何字段:
case class A(n: Int)
val a = A(1)         // a: A = A(1)
val b = a.copy(a.n)  // b: A = A(1) 
val c = a.copy(2)    // c: A = A(2)
但是,不推荐继承自case类.
| 归档时间: | 
 | 
| 查看次数: | 18445 次 | 
| 最近记录: |