Вопросы с тегом 'serialversionuid'

`serialVersionUID` является необязательным атрибутом классов Java для указания стандартной версии формата сериализации/десериализации. Используется для обнаружения, если сериализованный объект несовместим с процессом десериализации/классом.
26

Что такое serialVersionUID и почему я должен его использовать?

Eclipse выдает предупреждения, когда отсутствует serialVersionUID. Сериализуемый класс Foo не объявляет статический окончательный Поле serialVersionUID типа long Что такое serialVersionUID и почему это важно? Пожалуйста, покажите пример, где от...
12 нояб. '08 в 23:24
5

Что это значит: Сериализуемый класс не объявляет статическое окончательное поле serialVersionUID?

У меня есть предупреждающее сообщение, указанное в заголовке. Я хотел бы понять и удалить его. Я нашел несколько ответов на этот вопрос, но я не понимаю этих ответов из-за перегрузки с техническими терминами. Можно ли объяснить эту проблему простыми ...
18 февр. '10 в 13:40
9

Зачем генерировать длинный serialVersionUID вместо простого 1L?

Когда класс реализует Serializable в Eclipse, у меня есть два варианта: добавьте default serialVersionUID(1L) или сгенерированный serialVersionUID(3567653491060394677L). Я думаю, что первый из них более холодный, но много раз я видел людей, использу...
20 мая '09 в 14:37
12

Использовать serialVersionUID или подавлять предупреждения?

Я хочу создать класс, который, например, расширяет HttpServlet? Мой компилятор предупреждает меня, что мой класс должен иметь serialVersionUID. Если я знаю, что этот объект никогда не будет сериализован, я должен его определить или добавить аннотацию...
28 сент. '08 в 20:51
4

Если у абстрактного класса есть serialVersionUID

В java, если класс реализует Serializable, но является абстрактным, должен ли он иметь объявленный serialVersionUID, или же подклассы требуют только? В этом случае действительно предполагается, что все подклассы имеют дело с сериализацией, поскольку...
21 мая '09 в 14:37
3

Почему мой класс исключения должен быть сериализован?

Когда вы расширяете класс с классом Exception (для создания нового исключения), вы получаете предупреждение о наличии serialVersionUID. Я знаю, что serialVersionUID играет важную роль при сериализации и десериализации, но когда мой Exception необходи...
07 окт. '11 в 6:27
6

Явный serialVersionUID считается вредным?

Я, вероятно, рискую некоторыми понижениями на этом. Мне кажется, что явно специфицировать serialVersionUID для новых классов плохо. Рассмотрим два случая не изменять его, когда макет должен быть изменен и изменить его, когда он не должен иметь. Не ...
07 янв. '09 в 10:00
8

Поиск serialVersionUID сериализованного объекта

Есть ли способ определить сгенерированный serialVersionUID сериализованного объекта Java? Проблема заключается в том, что я сериализую объект без явного указания serialVersionUID. Теперь процесс десериализации жалуется на несовместимость классов. ...
24 авг. '09 в 12:12
3

Что такое serialVersionUID в java, обычно в классе исключений?

Возможный дубликат: Почему я должен беспокоиться о serialVersionUID? Я просматриваю код обработки исключений, и я увидел что-то, называемое serialVersionUID. Что это за uid? Ограничен ли он только исключением или может использоваться во всех к...
25 авг. '11 в 8:33
3

Eclipse автоматически генерирует serialVersionUID с каждым изменением

Eclipse красиво генерирует для меня serialVersionUID. Но это, по-видимому, генерация пассивного кода, поскольку идентификатор не будет автоматически обновляться, так как я изменяю файл, если я не буду снова генерировать. Есть ли способ генерировать ...
23 сент. '09 в 7:47
5

Сделать Java runtime игнорировать serialVersionUID?

Мне нужно работать с большим количеством скомпилированных классов Java, которые явно не указали serialVersionUID. Поскольку их UID были произвольно сгенерированы компилятором, многие из классов, которые должны быть сериализованы и десериализованы, в ...
29 нояб. '09 в 19:51
4

О сгенерированном serialVersionUID в Eclipse

Есть ли способ генерировать serialVersionUID в Eclipse серийно? Серийно я хочу сказать, что если один сериализуемый класс имеет serialVersionUID = 1L, то при генерации serialVersionUID другого класса это будет serialVersionUID = 2L. Если я вручную у...
30 апр. '12 в 19:08
3

Почему не генерируется serialVersionUID?

Почему не генерируется serialVersionUID? Я столкнулся с проблемой на сервере приложений, где, по-видимому, был кэширован старый класс.
25 авг. '10 в 19:44
5

Как десериализовать объект, сохраняемый в db теперь, когда у объекта есть другой serialVersionUID

Мой клиент имеет базу данных оракула, и объект был сохранен как поле blob через objOutStream.writeObject, у объекта теперь есть другой serialVersionUID (даже если объект не имеет изменений, может быть, другой версии jvm), и когда они попробуйте де-с...
27 апр. '09 в 22:02
2

Почему компилятор Java создает синтетическое поле serialVersionUID?

Как часть отладки приложения, я заметил, что Field.getDeclaredFields() возвращает некоторые синтетические поля, включая поле serialVersionUID в классе, расширяющем интерфейс, хотя ни один из них не расширяется Serializable. Почему компилятор добавл...
12 сент. '11 в 14:17