web-dev-qa-db-ja.com

Javaでリストをシリアル化する方法は?

リストをディープクローンします。そのための方法があります

// Apache commons method. This object should be serializable
SerializationUtils.clone ( object ) 

リストを複製するには、まずそれをシリアライズ可能に変換する必要があります。リストをシリアル化可能なリストに変換することは可能ですか?

71
Rakesh Juyal

_Java.util.List_のすべての標準実装は、すでに_Java.io.Serializable_を実装しています。

したがって、_Java.util.List_自体は_Java.io.Serializable_のサブタイプではありませんが、リストをSerializableにキャストしても安全です。ただし、ArrayListまたはLinkedList

よくわからない場合は、最初にリストをコピーして(new ArrayList(myList)のようなものを使用して)、その後、リストがシリアル化可能であることがわかります。

154
skaffman

既に指摘したように、Listのほとんどの標準実装はシリアル化可能です。ただし、リスト内で参照/含まれるオブジェクトがalso serializableであることを確認する必要があります。

31
Brian Agnew

リストは単なるインターフェイスです。問題は、実際のList実装はシリアル化可能ですか?標準について言えばList実装(ArrayListLinkedList)Javaランタイム、それらは実際に既にあります。

12
Dirk