Встречается на собеседованиях • сегодня
Какие знаешь способы клонирования объекта в Java
В Java есть несколько способов клонирования объектов:
-
Реализация интерфейса Cloneable и переопределение метода clone()
javaclass MyClass implements Cloneable { @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); // поверхностное копирование } } -
Использование конструктора копирования
javaclass MyClass { private int value; public MyClass(MyClass other) { this.value = other.value; // глубокое копирование } }
-
Сериализация/десериализация (для глубокого копирования)
javaByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(original); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); ObjectInputStream ois = new ObjectInputStream(bais); MyClass copy = (MyClass) ois.readObject(); -
Библиотеки (Apache Commons, Gson и др.)
javaMyClass copy = SerializationUtils.clone(original); // Apache Commons -
Копирование через JSON (например, Gson)
javaGson gson = new Gson(); MyClass copy = gson.fromJson(gson.toJson(original), MyClass.class);
Важно: метод clone() по умолчанию делает поверхностное копирование. Для глубокого копирования нужно реализовывать его вручную.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы