ディープコピーメソッドを作りたいです。先日、この問題についてここで助けを求めましたが、それはコピー コンストラクターに関するものでした。今、私は定期的な方法が必要です。コードを作成しましたが (動作していません)、完全には理解していません。
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;
}
jadeed という名前の新しい GhostList を作成し、その下にゴーストの新しいデータ配列を作成すると、データが jadeed GhostList に属していることがわかりますか? 2つを関連付ける方法はわかりませんが、関連付ける必要があります。
また、コピーと this.object の長さが一致しません。私の問題は何ですか?