Back to questions
Junior — Middle
67
Какими способами можно создать точную копию объекта в программировании?
Answer from AI
sobes.tech AI
В Java создать точную копию объекта можно несколькими способами:
- Реализация интерфейса
Cloneableи переопределение методаclone()— создает поверхностную копию объекта.
public class Person implements Cloneable {
private String name;
public Person(String name) {
this.name = name;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
- Конструктор копирования — создание нового объекта, копируя поля из существующего.
public class Person {
private String name;
public Person(Person other) {
this.name = other.name;
}
}
-
Сериализация и десериализация — создать глубокую копию, записав объект в поток и считав обратно.
-
Использование сторонних библиотек — например, Apache Commons Lang
SerializationUtils.clone().
Важно понимать разницу между поверхностным (shallow) и глубоким (deep) копированием, особенно если объект содержит ссылки на другие объекты.