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

Для чего нужен clone()

Метод clone() в Java используется для создания копии объекта. Он определён в классе Object и требует реализации интерфейса Cloneable.

Особенности:

  • Поверхностное копирование (shallow copy) по умолчанию.
  • Для глубокого копирования (deep copy) нужно переопределить clone().
  • Без Cloneable вызовет CloneNotSupportedException.

Пример:

java
class Person implements Cloneable {
    String name;
    int age;

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone(); // поверхностное копирование
    }
}

Person p1 = new Person();
Person p2 = (Person) p1.clone(); // копия p1

Альтернативы:

  • Конструктор копирования.
  • Сериализация.
  • Библиотеки (Apache Commons, Jackson).

Используйте осторожно — предпочитайте другие способы копирования, если возможно.

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

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

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

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