編集の要約なし
編集の要約なし
 
(同じ利用者による、間の5版が非表示)
4行目: 4行目:
* ストリームを使ってファイルに保存したり、ネットワークで伝送したりできる
* ストリームを使ってファイルに保存したり、ネットワークで伝送したりできる
* クラスを直列化に対応させるために Serializable を実装する必要がある
* クラスを直列化に対応させるために Serializable を実装する必要がある
* 実装後、[[ObjectOutputStream|ObjectOutputStream]]、[[ObjectInputStream|ObjectInputStream]]で自由に保存/復元できるようになる
* Has-a関係にあるフィールドも Serializable を実装していれば連鎖して直列化される
* 直列化したクラスのバージョンをシリアルバージョンUIDで管理する必要がある
* クラスを修正し新しいバージョンになった後は、シリアルバージョンUIDの数値も変更する


  import java.io.*;
  import java.io.*;
  public class Hero implements Serializable {
  public class Hero implements Serializable {
    private static final long serialVersionUID = 39048750239745L;    // ランダムな数値でOK
  ...
  ...

2019年7月3日 (水) 00:00時点における最新版

< Java基本文法

  • 直列化によって、インスタンス内の全データをバイナリに変換できる
  • ストリームを使ってファイルに保存したり、ネットワークで伝送したりできる
  • クラスを直列化に対応させるために Serializable を実装する必要がある
  • 実装後、ObjectOutputStreamObjectInputStreamで自由に保存/復元できるようになる
  • Has-a関係にあるフィールドも Serializable を実装していれば連鎖して直列化される
  • 直列化したクラスのバージョンをシリアルバージョンUIDで管理する必要がある
  • クラスを修正し新しいバージョンになった後は、シリアルバージョンUIDの数値も変更する
import java.io.*;
public class Hero implements Serializable {
    private static final long serialVersionUID = 39048750239745L;    // ランダムな数値でOK
...