Ответ
Serializable — это интерфейс-маркер в Java, позволяющий объектам сериализоваться (превращаться в поток байтов) для передачи между процессами или сохранения.
Особенности:
- Простая реализация (достаточно имплементировать интерфейс).
- Автоматическая сериализация всех не-static и не-transient полей.
- Медленнее Parcelable из-за рефлексии и создания лишних объектов.
Пример:
public class User implements Serializable {
private String name;
private transient int age; // Не будет сериализовано
}
Проблемы:
- Нет контроля над процессом сериализации (может привести к ошибкам при изменении класса).
- Версионность требует ручного управления (
serialVersionUID).
Используйте для простых сценариев, но предпочитайте Parcelable для Android.