あなたはObjectOutputStream
/ObjectInputStream
は/デシリアライズオブジェクトをシリアル化するために使用することができます。
import java.io.{ObjectOutputStream, FileOutputStream, ObjectInputStream, FileInputStream}
object Test extends App {
val oos = new ObjectOutputStream(new FileOutputStream("bool.obj"))
oos.writeObject(true)
oos.close()
val ois = new ObjectInputStream(new FileInputStream("bool.obj"))
val obj = ois.readObject()
println(obj) // Prints: true
ois.close()
}
これらのストリームクラスは、Java(ないScalaの)バイナリシリアルフレームワークの一部です。その結果、クラスではjava.io.Serializable
を直列化可能に拡張するだけで十分です。プリミティブboolean
はjava.io.Serializable
と考えられている:
true.isInstanceOf[scala.Serializable] // false
true.isInstanceOf[java.io.Serializable] // true
有用な洞察のように聞こえます。私は今それを調べている。 – javadba
明らかに、シリアライズ可能なintellijが私にインポートするために提供する*にもっと注意を払う必要があります。スカラーのバージョンは、めったに必要なものではありません。 – javadba