Me gustaría clonar una lista en profundidad. para eso estamos teniendo un método
// apache commons method. This object should be serializable
SerializationUtils.clone ( object )
así que ahora, para clonar mi Lista, debería convertirla en serializable primero. ¿Es posible convertir una lista en una lista serializable?
java
serialization
collections
apache-commons
Rakesh Juyal
fuente
fuente
SerializationUtils.clone()
requiere un argumento de tipoSerializable
, por lo que si su variable es de tipoList
, deberá convertirla.List<MyClass> myObjs = new ArrayList<MyClass>();
no cumple con elSerializable
, pero loArrayList<MyClass> myObjs = new ArrayList<MyClass>();
hace.<T extends List<Foo> & Serializable> setFooList(T list)
, lo que requiere que la persona que llama le pase una instancia de alguna implementación de List que también sea serializable.Como ya se señaló, la mayoría de las implementaciones estándar de
List
son serializables. Sin embargo, debe asegurarse de que los objetos referenciados / contenidos dentro de la lista también sean serializables.fuente
List
es una interfaz que no se extiendeSerializable
ni ninguna interfaz que lo haga.List
Los s que no son serializables pueden no ser comunes en las bibliotecas estándar, pero eso no hace que la primera oración sea correcta.List es solo una interfaz. La pregunta es: ¿se puede serializar su implementación de List real ? Hablando de las implementaciones estándar de List ( ArrayList , LinkedList ) del tiempo de ejecución de Java, la mayoría de ellas ya lo están.
fuente