Почему java.util.List
не реализует Serializable
, тогда как подклассы типа LinkedList
, Arraylist
do? Разве это не похоже на принципы наследования? Например, если мы хотим, чтобы отправить LinkedList по сети, мы должны написать:Почему java.util.List не реализует Serializable?
new ObjectOutputStream(some inputStream).writeObject(some LinkedList);
До сих пор так хорошо, но при чтении объекта на другой стороне, мы должны сказать, LinkedList l = (LinkedList)objectInputStream.readObject();
в явной форме вместо List l = (List)objectInputStream.readObject();
. Если бы мы когда-либо меняли функциональность записи с LinkedList
, чтобы сказать ArrayList
, нам также придется изменить часть чтения. Имея List
, реализация Serializable
решила бы проблему.
Я не думаю, что вторая часть вашего заявления точна, а не то, что у меня была возможность попробовать. Какие ошибки вы получаете? –