我在 Scala 中克隆时遇到了麻烦。这是否可以克隆任意类型 T 的对象?像这样的东西:
import collection.immutable.Stack
object Tester extends App {
trait Grand[T <: Cloneable] {
val stack = Stack[T]()
val h: T
def snapshot() {
stack push h.clone().asInstanceOf[T]
}
}
}
但是它抛出:
scala:无法在 T 中访问类 Object 中的
方法克隆 不允许访问受保护的方法克隆,因为前缀类型 T 不符合进行访问的对象 Tester 中的特征 Grand
那里出了什么问题?