我对 Scala 相当陌生,我有一个关于复制案例类同时保留来自特征的数据的最佳方法的问题。例如,假设我有以下内容:
trait Auditing {
var createTime: Timestamp = new Timestamp(System.currentTimeMillis)
}
case class User(val userName: String, val email: String) extends Auditing
val user = User("Joe", "joe@blah.com")
然后我想制作一个更改了一个参数的新副本:
val user2 = user.copy(email = "joe@newemail.com")
现在,在上面的示例中,属性 createTime 不会被复制,因为它没有在 User case 类的构造函数中定义。所以我的问题是:假设将 createTime 移动到构造函数中不是一个选项,那么获取包含特征值的 User 对象副本的最佳方法是什么?
我正在使用 Scala 2.9.1
提前致谢!乔