85

リストをディープクローンしたいと思います。そのために、メソッドがあります

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

だから今私のリストを複製するには、最初にそれをシリアライズ可能に変換する必要があります。リストをシリアライズ可能なリストに変換することは可能ですか?

4

3 に答える 3

175

のすべての標準実装はjava.util.List既に実装されていますjava.io.Serializable

したがって、java.util.Listそれ自体は のサブタイプではありませんが、またはのような標準実装の 1 つであることがわかっている限りjava.io.Serializable、リストを にキャストしても安全です。SerializableArrayListLinkedList

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

于 2009-09-07T07:13:14.290 に答える
34

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

于 2009-09-07T08:09:43.670 に答える
15

リストは単なるインターフェースです。問題は、実際のList実装がシリアライズ可能かどうかです。Java ランタイムからの標準のList実装 ( ArrayListLinkedList ) について言えば、それらのほとんどは実際には既に実装されています。

于 2009-09-07T07:13:19.623 に答える