Сериализация в Java

Когда я определяю объект Java реализовать сериализуемый интерфейс, члены объекта, также становятся сериализуемыми? Или я должен пойти настолько же далеко вдоль глубины вложения, для переопределения каждого объекта вдоль пути как сериализуемый?

5
задан The Machine 19 January 2010 в 15:30
поделиться

4 ответа

Большинство классов, которые вы используете регулярно в Java, являются сериализациями (коллекции, строки, определенные пункты и т. Д.), Однако любые классы, которые вы ссылаетесь, должны быть, должны быть сериализуемыми или заявленными преходящими. Конечно, если они являются временными, они не будут ссылаться, когда класс десериализирован.

6
ответ дан 14 December 2019 в 01:08
поделиться

Ну, реализация сериализации даст вам поддержку сериализации, только если все недержанные члены (спасибо, Danben) являются примитивы, либо самими сериалами.

Так что да, если у вас есть много разных вещей, которые являются членами , не Serializable, то вы должны сделать их сериализами тоже.

Если они не важны для представления государства вашего объекта. Если вы можете повторно создать его без них, вы всегда можете сделать участников преходящим, чтобы пропустить их из сериализации.

3
ответ дан 14 December 2019 в 01:08
поделиться
0
ответ дан 14 December 2019 в 01:08
поделиться

Участники не создаются автоматически сериализами.

Если у вас есть члены, которые у вас есть в своем классе, и которые вы написали сами, вы должны идти к каждому и сделать их сериализацией (путем реализации интерфейса).

Большинство типов, которые поставляются с библиотеками Java, уже сериализуются, поэтому не стоит беспокоить вас.

И при необходимости это относится ко всем членам рекурсивно.

Другими словами - если есть кусок данных или ценность, которые необходимо перенесено или сохранить, на любой глубине в объекте он должен быть сериализен.

0
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: