我有一個case class User
。我必須使用kryo序列化它。這是我的班。在scala中序列化時更改不可變的變量值
雖然執行Kryo read()我有問題。我的變量有val類型。因爲我們知道我們不能改變val的價值。
case class User(name : String, age : int) extends KryoSerializable {
def this()={
this("",0)
}
//
override def read(kryo : Kryo, input : Input) {
// here i'm getting error. i can't override name because its val
name = input.readString()
age = input.readInt()
println("-----------Read method of Kryo")
}
override def write(kryo : Kryo, output : Output) {
output.writeString(name)
output.writeInt(age)
println("--------Write method of Kryo")
}
}
請指導我,我該怎麼做?