Встречается на собеседованиях • сегодня

Какие знаешь методы Serializable

Serializable - это маркерный интерфейс, но для корректной работы сериализации можно использовать следующие методы:

  1. writeObject(ObjectOutputStream out) - кастомная сериализация. Позволяет контролировать процесс записи объекта.
  2. readObject(ObjectInputStream in) - кастомная десериализация. Позволяет контролировать процесс чтения объекта.
  3. readObjectNoData() - вызывается при десериализации, если у класса-родителя нет данных.
  4. writeReplace() - позволяет заменить объект перед сериализацией.
  5. readResolve() - позволяет заменить объект после десериализации.

Пример:

java
private void writeObject(ObjectOutputStream out) throws IOException {
    out.defaultWriteObject(); // стандартная сериализация
    out.writeInt(additionalField); // доп. поле
}

private void readObject(ObjectInputStream in) 
    throws IOException, ClassNotFoundException {
    in.defaultReadObject(); // стандартная десериализация
    this.additionalField = in.readInt(); // восстановление доп. поля
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы