2016-04-14 16 views
0

私は現在、ユーザー入力からのデータをファイルとして保存する方法を学び、理解しようとしています。Java:シリアライズ可能なクラスを実装するクラス

現在、私はクラス "movies"と "series"とクラス "MediaLibrary"を持っています。

今質問です:どのクラスがSerializableを実装する必要がありますか?

(私はArrayListの他のクラスのオブジェクトを保存するので)MediaLibraryに実装するだけでいいですか、他のクラスもSerializableが必要ですか?

ありがとうございました。

LevKaz

EDIT 1:可能重複したから、私の質問は、ユニークなもの? 可能性のある複製では、なぜすべてのオブジェクトがシリアル化可能であるのか尋ねました、彼はすべての単一のクラスにそれを書こうとは思わなかったので、私は、他のオブジェクトを保持しているクラスを直列化するのに十分かどうか、またはすべてのオブジェクトが直列化可能なインタフェースを実装する必要があるかどうかを知りたいと思っていました。

私はAli Seyediが提案したものと私の質問の相違点を示してくれたことをうまく覚えました。

+0

[Javaにシリアル化可能なインターフェイスが必要な理由](http://stackoverflow.com/questions/441196/why-java-needs-serializable-interface) –

答えて

2

あなたはそれだけでimplements Serializableを書くことで仕事をしたい場合は、その後のすべてのクラスはArrayListをシリアル化しようとしたときにそうでない場合、例外がスローされますので、Serializableする必要があります。

あなたではなくObjectOutputStreammoviesseriesオブジェクトを書き込むので、あなたが直接自分のフィールドを書くようにwriteObjectを書き込むことによってmoviesseriesSerializableを作るを避けることができます。しかし、が非常にの理由がある場合を除き、このようなアプローチを採用すべきではありません。

+0

ご回答いただきありがとうございます。 – LevKaz

+0

問題ありません。私は助けることができてうれしいです。 –

関連する問題