scala class 序列化
时间: 2023-07-20 21:45:14 浏览: 88
seriala:Scala 序列化
在 Scala 中,可以使用 Java 的序列化机制将类序列化。要使一个类可序列化,需要满足以下条件:
1. 实现 java.io.Serializable 接口。
2. 所有成员变量必须是可序列化的,即要么是基本类型,要么实现 java.io.Serializable 接口。
3. 如果父类实现了 Serializable 接口,则子类也会自动实现 Serializable 接口。
以下是一个示例:
```scala
import java.io._
class Person(val name: String, val age: Int) extends Serializable
object SerializationTest extends App {
val person = new Person("Alice", 25)
// 序列化
val oos = new ObjectOutputStream(new FileOutputStream("person.obj"))
oos.writeObject(person)
oos.close()
// 反序列化
val ois = new ObjectInputStream(new FileInputStream("person.obj"))
val p = ois.readObject.asInstanceOf[Person]
ois.close()
println(p.name)
println(p.age)
}
```
在上述示例中,我们定义了一个名为 Person 的类,并实现了 Serializable 接口。然后我们创建了一个 Person 对象并将其序列化到文件中,接着又从文件中反序列化出对象并打印出其属性值。
阅读全文