JavaのSerializableインターフェースをどのように呼び出すのですか?

Javaにおいて、オブジェクトをシリアライズ(オブジェクトをバイト列に変換して保存または転送すること)する必要がある場合は、そのオブジェクトに「Serializable」インターフェースを実装することができます。

Serializableインターフェースを呼び出すには、シリアル化したいクラスの宣言にimplementsキーワードを使用してそのインターフェースを導入します。例えば:

public class MyClass implements Serializable {
    // 类的代码
}

その後、ObjectOutputStreamクラスを使用してオブジェクトを出力ストリームに書き込むことで、シリアライズ操作を実現できます。例:

MyClass obj = new MyClass();
try {
    FileOutputStream fileOut = new FileOutputStream("file.ser");
    ObjectOutputStream out = new ObjectOutputStream(fileOut);
    out.writeObject(obj);
    out.close();
    fileOut.close();
    System.out.println("对象已经成功序列化");
} catch (IOException e) {
    e.printStackTrace();
}

この例では、MyClassオブジェクトがfile.serというファイルに書き込まれます。他のオブジェクトもシリアライズする場合は、Serializableインターフェースを実装する必要がありますので注意してください。

ObjectInputStreamクラスを使用すると、デシリアライズ操作(つまりバイトストリームからオブジェクトを復元すること)が可能です。例えば、

try {
    FileInputStream fileIn = new FileInputStream("file.ser");
    ObjectInputStream in = new ObjectInputStream(fileIn);
    MyClass obj = (MyClass) in.readObject();
    in.close();
    fileIn.close();
    System.out.println("对象已经成功反序列化");
} catch (IOException e) {
    e.printStackTrace();
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

この例では、file.serという名前のファイルからバイトストリームを読み込んで、型変換を使用してそれをMyClassオブジェクトに変換します。

bannerAds