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

Чем заменишь конструктор копирования и сериализацию

Для копирования объектов в Java можно использовать:

  1. Клонирование (реализация интерфейса Cloneable):
java
@Override
protected Object clone() throws CloneNotSupportedException {
    return super.clone();
}
  1. Фабричные методы (например, copyOf):
java
public static MyClass copyOf(MyClass original) {
    return new MyClass(original.getField());
}

Для сериализации альтернативы:

  1. JSON/XML библиотеки (Gson, Jackson):
java
Gson gson = new Gson();
String json = gson.toJson(obj);
MyClass copy = gson.fromJson(json, MyClass.class);
  1. Ручное копирование через Builder:
java
MyClass copy = new MyClass.Builder()
    .setField(original.getField())
    .build();

Важно: клонирование имеет проблемы с глубоким копированием, а сериализация через JSON может не сохранять транзиентные поля.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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