Я хочу сделать метод глубокого копирования. Я искал помощи здесь на днях с этой проблемой, но это было для конструктора копирования. Теперь мне нужен обычный метод. У меня есть созданный код (нерабочий), но я просто не понимаю его полностью.
public GhostList deepCopy(){
int length=this.getLength();
GhostList jadeed=new GhostList();
Ghost[] data = new Ghost[length];
for (int i=0;i<this.getLength();i++){
data[i] = new Ghost();
data[i].setX(this.ghosts[i].getX());
data[i].setY(this.ghosts[i].getY());
data[i].setColor(this.ghosts[i].getColor());
data[i].setDirection(this.ghosts[i].getDirection());
}
return jadeed;
}
Теперь, когда я создаю новый GhostList с именем jadeed, а затем под ним я создаю новый массив данных призраков, знает ли он, что данные принадлежат Jadeed GhostList? Я не понимаю, как они могут быть связаны, даже если они должны быть связаны.
Кроме того, я не получаю совпадения длин для копии и this.object. В чем моя проблема?