2016年02月02日
blog comments powered by Disqus
シリアライズ/デシリアライズ
名称 | 変換内容 |
---|---|
オブジェクト -> 符号化 | シリアライズ |
符号化 -> オブジェクト | デシリアライズ |
クラスをシリアライズ可能にするには
Serializable インターフェースを実装する。
http://docs.oracle.com/javase/jp/8/docs/api/java/io/Serializable.html (Java8)
特殊なメソッド 3つ
いずれもそれぞれのケースで独自の実装を行ないたい場合に実装する。
- void writeObject(ObjectOutputStream out)
- void readObject(ObjectInputStream in)
- void readObjectNoData()
writeObject() メソッド
ObjectOutputStream.defaultWriteObject()
はデフォルトのシリアライズ処理を行なう。- カスタムシリアライズを実装する場合に使用する。
private void writeObject(ObjectOutputStream out) throws IOException {
out.defaultWriteObject(); // デフォルトのシリアライズ処理
・・・ // 独自の実装を行なう
}
readObject() メソッド
- カスタムデシリアライズを実装する場合に使用する。
ObjectInputStream.defaultReadObject()
はデフォルトのデシリアライズ処理を行なう。
private void readObject(ObjectInputStream in) throws IOException {
in.defaultReadObject(); // デフォルトのデシリアライズ処理
・・・ // 独自の実装を行なう
}
blog comments powered by Disqus