Как десериализовать объект Java, когда тип частного поля изменился?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как десериализовать объект Java, когда тип частного поля изменился?

Сообщение Anonymous »

У меня есть Java-класс с полями разных типов (среди них присутствует serialVersionUID). Одно из полей имеет тип Integer и всегда содержит значение 0 или 1. Когда была запущена предыдущая версия моего приложения, объект этого класса был сериализован и сохранен в БД в виде текста.
Теперь я изменил свой код, и это целочисленное поле имеет логический тип. Я хотел бы десериализовать «старый» объект из БД и сопоставить значения 0/1 со значениями false/true соответственно.
Как этого добиться?
Я пытался создать собственную реализацию метода readObject() в своем классе, но безуспешно.
Важно то, что мне нужна возможность десериализовать обе версии моего объекта - старую один с целочисленным полем и новый с логическим полем, потому что я не знаю, какую версию мне нужно будет восстановить из БД и десериализовать.

Подробнее здесь: https://stackoverflow.com/questions/791 ... as-changed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»