web-dev-qa-db-fra.com

Comment sérialiser une liste en java?

Je voudrais profondément cloner une liste. pour cela nous avons une méthode

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

alors maintenant, pour cloner ma liste, je devrais convertir cela en sérialisable en premier. Est-il possible de convertir une liste en liste sérialisable?

71
Rakesh Juyal

Toutes les implémentations standard de Java.util.List Implémentent déjà Java.io.Serializable.

Ainsi, même si Java.util.List N’est pas un sous-type de Java.io.Serializable, Il est prudent de convertir la liste en Serializable, tant que vous savez que cela fait partie des implémentations standard telles que ArrayList ou LinkedList.

Si vous n'êtes pas sûr, copiez d'abord la liste (en utilisant quelque chose comme new ArrayList(myList)), alors vous saurez qu'il est sérialisable.

154
skaffman

Comme déjà souligné, la plupart des implémentations standard de List sont sérialisables. Cependant, vous devez vous assurer que les objets référencés/contenus dans la liste sont aussi sérialisables.

31
Brian Agnew

List est juste une interface. La question qui se pose est la suivante: votre implémentation réelle Liste est-elle sérialisable? Parlant des implémentations standard List (ArrayList, LinkedList) à partir de Java à l'exécution, la plupart des ils sont en fait déjà.

12
Dirk