Как десериализовать объект на другом ПК?

266
18 июня 2017, 15:57

Я сериализовал класс и отправил его по сети от сервера к клиенту. Клиент должен восстановить состояние класса. Как это сделать?

У меня получается только если сериализуемый класс находится там же, где и нужно его восстановить. Пишу readObject, все ок. Но у клиента нет доступа к десериализуемому классу, т.е. я создал такой же класс и жду, что readObject заполнит ArrayList в моем сериализуемом классе. Но он выдает следующую ошибку:

Exception in thread "main" java.lang.ClassCastException: com.javarush.task.task20.task2019СериализацияКарты.Write.Karta cannot be cast to com.javarush.task.task20.task2019СериализацияКарты.Load.Karta
Answer 1

У вас где-то путаница. Ошибка совсем не связана напрямую с сериализацией.

Вот список ошибок сериализации:
https://docs.oracle.com/javase/7/docs/platform/serialization/spec/exceptions.html

Ваша же, обыкновенный ClassCastException, и из описания понятно почему.

Exception in thread "main" java.lang.ClassCastException:
com.javarush.task.task20.task2019СериализацияКарты.Write.Karta
cannot be cast to
com.javarush.task.task20.task2019СериализацияКарты.Load.Karta
READ ALSO
JavaFX Polygon пересечение

JavaFX Polygon пересечение

есть два корабляу них есть хитбоксы в виде полигонов

297
Как настроить Search View из библиотеки appcompat-v7-25.3.1-sources.jar

Как настроить Search View из библиотеки appcompat-v7-25.3.1-sources.jar

Некорректно выполняется поиск элементов из списка, при вводе какого либо значенияЕсть элемент, но в поиске его не находит

264
Type Erasure в Java [требует правки]

Type Erasure в Java [требует правки]

Почему в Java есть Type Erasure?

265
Failed to bind request element. Spring meb mvc

Failed to bind request element. Spring meb mvc

Здравствуйте, при попытке изменить запись выскакивет ошибка : tomcat - HTTP Status [400] – [Bad Request]

736