Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

これでもOK、直列保存について?

TreeSetを直列化保存したいと考え下記のようなコードを書いてみました。

public class myTree extends TreeSet implements Serializable{
}

myTree Tree=new myTree();
Tree.add(独自クラス);
Tree.add(独自クラス);

        FileOutputStream fos = new FileOutputStream("Tree.ser");
        System.out.println("1");
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        System.out.println("2");
         oos.writeObject(Tree);
         System.out.println("3");
        oos.close();

なぜか2で処理が止まってしまいます。
なぜ上手く行かないのでしょうか?

6

回答

4204

閲覧

6件の回答

評価

0

エラーメッセージをちゃんと読めば、すぐわかるはずだがな。
試しに貼ってみたまえ。

評価

0

ありがとうございます。
エラーを見たら分かりました。

独自クラスのほうにもSerializable指定が必要なんですね。

評価

0

いうまでもないけど、Serialiableを実現するための実装も必要です。

評価

0

実装が必要?
ネットの情報ではSerialiableは
implements Serializable
とクラスに修飾するだけでよく、メソッドは必要ないと書いてましたけど?

評価

0

普通はそれでもいいのか。
具体的には「クラスが持つフィールドが、すべてSeriarizableな場合」はね。

評価

0

はい、わかりました。
解決とします。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。