次のように私はクラスを定義しました:オブジェクトをJavaでコピーするにはどうすればよいですか?
Public class Board{
public static final int SIZE = 4;
private static char[][] matrix = new char[SIZE][SIZE];
public Board(){
clear();//just fills matrix with a dummy character
}
public void copy(Board other){//copies that into this
for(int i = 0; i < SIZE; i++){
for(int j = 0; j < SIZE; j++){
matrix[i][j] = other.matrix[i][j];
}
}
}
//a bunch of other methods
}
は、だからここに私の問題だ:私はmyBoard.copy(otherBoard)
のように、コピーを作成しようとすると、1枚のボードに加えた変更は、他に影響を与えます。個々の原始要素をコピーしましたが、matrix
への参照は両方のボードで同じです。私は要素をコピーしていると思った、なぜポインタは同じですか?これを修正するにはどうすればよいですか?
ありがとう、私はばかげています。私のCS教師は恒星ではありませんが、あなたは – LeoShwartz
です@LeoShwartzありがとうございますが、あまりにも名誉です。 ; D –