¿Por qué java.util.List
no implementa Serializable
mientras que las subclases como LinkedList
, Arraylist
do? ¿No parece estar en contra de los principios de herencia? Por ejemplo, si queremos enviar un LinkedList través de una red, tenemos que escribir:¿Por qué java.util.List no implementa Serializable?
new ObjectOutputStream(some inputStream).writeObject(some LinkedList);
Hasta aquí todo bien, pero al leer el objeto en el otro lado, tenemos que decir explícitamente LinkedList l = (LinkedList)objectInputStream.readObject();
en lugar de List l = (List)objectInputStream.readObject();
. Si alguna vez cambiamos la funcionalidad de escritura de LinkedList
para decir ArrayList
, también tendremos que cambiar la parte de lectura. Tener List
implementar Serializable
habría resuelto el problema.
no creo que la segunda parte de su declaración es exacta, no es que yo he tenido la oportunidad de probarlo. ¿Qué tipo de errores estás recibiendo? –