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

Как создать клон объекта

В Java есть два способа клонирования объектов:

  1. Использование метода clone() (реализация интерфейса Cloneable):
java
class MyClass implements Cloneable {
    private int value;

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone(); // поверхностное копирование
    }
}
  1. Копирующий конструктор (более предпочтительный способ):
java
class MyClass {
    private int value;
    
    public MyClass(MyClass other) {
        this.value = other.value; // глубокое копирование полей
    }
}

Важные нюансы:

  • Метод clone() требует реализации Cloneable, иначе выбросит CloneNotSupportedException
  • По умолчанию clone() делает поверхностное копирование (shallow copy)
  • Для глубокого копирования нужно переопределять clone()
  • Копирующий конструктор считается более безопасным и предсказуемым
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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