Когда стоит использовать Serializable, а когда Externalizable?

Изначально, Serializable использует дефолтовую имплементацию для чтения и записи объектов. Для этого необходимо всего лишь реализовать интерфейс serializable для класса, а все остальное будет сделано за вас.
Externalizable же используется в тех случаях, когда Вы хотите описать свой вариант хранения и получения данных объекта. В таком случае, необходимо будет позаботиться о реализации собственных readExternal(), writeExternal() методов.
Externalizable следует использовать в тех редких и специфических случаях, когда serializable НУ НИКАК не может удовлетворить Ваших потребностей.
Serializable - наиболее общепризнанный вариант использования.
Все, что нужно для его использования - это реализовать интерфейс Externalizable в классе и ничего более.
Материалы, которые могут вас заинтересовать
- Почему локальные вложенные классы имеют доступ только к final переменным?
- Играем в компилятор.
- Duke. Одноглазый пингвин или кусок зуба?
- Как установить JAVA_HOME?
- Java. Вложенные классы в методах
- Java. Создание объекта вложенного класса извне внешнего класса
- Java. Создание объекта вложенного класса изнутри внешнего класса
- Java. Создание объекта вложенного класса
- Java. Создание "регулярного" вложенного класса







"Serializable - наиболее общепризнанный вариант использования.
Все, что нужно для его использования - это реализовать интерфейс Externalizable в классе и ничего более."
Возможно имеется в виду Serializable, а не Externalizable?
На тему сериализации лучше почитать http://www.skipy.ru/technics/serialization.html
Отправить комментарий