Junior — Middle
139
Какие методы копирования объектов в Java тебе известно?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Java-да объектілерді көшірудің екі негізгі тәсілі бар:
-
Жарық көшірме (shallow copy) — тек негізгі өрістер мен объектілерге сілтемелерді көшіріп, нақты объектілерді көшірмейді. Сілтемелер бірдей қалады, яғни, бір объектінің өзгерісі басқаға әсер етеді. Әдетте,
Cloneableинтерфейсініңclone()әдісі арқылы жүзеге асырылады. -
Терең көшірме (deep copy) — объектінің толық тәуелсіз көшірмесін жасайды, барлық ішкі объектілерді де көшіріп, жаңа объектілер құрады. Бұл көбінесе арнайы көшірме әдістерін жазу немесе сериализация/десериализация қолдану арқылы жүзеге асады.
Мысал — clone() қолдану арқылы жарық көшірме:
class Person implements Cloneable {
String name;
int age;
public Person clone() throws CloneNotSupportedException {
return (Person) super.clone();
}
}
Терең көшірме үшін, барлық өрістерді қолмен көшіретін әдіс жазуға немесе сериализацияны қолдануға болады.