Я пытаюсь клонировать Объект, у которого есть Массивы, а затем у каждого элемента в этом Массиве также есть Массивы другого объекта. Структура объекта выглядит следующим образом:
Школа - SchClass [] - Учащиеся []
У меня есть вспомогательный класс, в котором есть приведенная ниже строка кода для клонирования объекта School.
Helper.java:
schoolClone = (School) originalSchool.clone();
School.java
public object School(){
School school = null;
try{
school = (School) super.clone();
}
catch (CloneNotSupportedException e) {
school = new School();
}
school.schClasses = (SchClass[]) this.schClasses.clone();
return school;
}
SchClass.java
public object SchClass(){
SchClass schClass = new SchClass();
schClass.students = (Student[]) this.students.clone();
return schClass;
}
Student.java
public object Student(){
Student student = null;
try{
student = (Student) super.clone();
}catch (CloneNotSupportedException e) {
student = new Student(this.getName(), this.getAge(), this.getGrade());
}
return student;
}
Если я удаляю ученика из объекта schoolClone, он также удаляется из объекта originalSchool (этоэто моя проблема) ** однако если я удалил какой-либо объект schClass из объекта schoolClone, объект originalSchool останется как есть, а данные будут изменены только для клонированного объекта.
Есть ли способ удалитьученик из объекта schoolClone, но это не влияет на мой объект originalSchool.
Любая помощь приветствуется.