Ich möchte eine Liste tief klonen. dafür haben wir eine Methode
// apache commons method. This object should be serializable
SerializationUtils.clone ( object )
Um meine Liste zu klonen, sollte ich sie zuerst in serialisierbar konvertieren. Ist es möglich, eine Liste in eine serialisierbare Liste umzuwandeln?
java
serialization
collections
apache-commons
Rakesh Juyal
quelle
quelle
SerializationUtils.clone()
ein Argument für den Typ erforderlichSerializable
ist und Ihre Variable vom Typ istList
, müssen Sie sie umwandeln.List<MyClass> myObjs = new ArrayList<MyClass>();
trifft das nicht , tut esSerializable
aberArrayList<MyClass> myObjs = new ArrayList<MyClass>();
.<T extends List<Foo> & Serializable> setFooList(T list)
muss Ihr Anrufer Ihnen eine Instanz einer List-Implementierung übergeben, die auch serialisierbar ist.Wie bereits erwähnt, sind die meisten Standardimplementierungen von
List
serialisierbar. Sie müssen jedoch sicherstellen, dass die Objekte, auf die in der Liste verwiesen wird, auch serialisierbar sind.quelle
List
handelt es sich um eine Schnittstelle, die nicht erweitert wird,Serializable
oder um eine Schnittstelle, die dies tut.List
s, die nicht serialisierbar sind, sind in Standardbibliotheken möglicherweise nicht üblich, aber der erste Satz wird dadurch nicht richtig.Liste ist nur eine Schnittstelle. Die Frage ist: Ist Ihre tatsächliche List- Implementierung serialisierbar? In Bezug auf die Standard- List- Implementierungen ( ArrayList , LinkedList ) aus der Java-Laufzeit sind die meisten bereits vorhanden.
quelle