Какие знаешь интерфейсы для сериализации в Java

«Какие знаешь интерфейсы для сериализации в Java» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Java основные интерфейсы для сериализации:

  1. Serializable - маркерный интерфейс, стандартный механизм сериализации JVM. Пример:
class User implements Serializable {
    private String name;
    // getters/setters
}
  1. Externalizable - расширяет Serializable, позволяет кастомизировать процесс сериализации через методы writeExternal() и readExternal().

  2. Parcelable (Android-specific) - более эффективен чем Serializable, требует реализации методов writeToParcel(), describeContents() и Creator. Пример:

class User implements Parcelable {
    private String name;
    // ... Parcelable методы
}

Для JSON/XML сериализации часто используют библиотеки (Gson, Moshi, Jackson, SimpleXML), но они не требуют реализации интерфейсов.