【初心者】Java質問・相談スレ24【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0128デフォルトの名無しさん
NGNG浅いコピー
int[][] array = new int[3][3];
int[][] copy = new int[3][];
copy[0] = array[0];
copy[1] = array[1];
copy[2] = array[2];
array[0][1] = 1; とかすると copy[0][1] が 1 に書き換わってしまう。
深いコピー
int[][] array = new int[3][3];
int[][] copy = new int[3][3];
for(int i = 0 ; i < array.length ; i++){
for(int j = 0 ; j < array[i].length ; j++ ){
copy[i][j] = array[i][j];
}
}
array[0][1] = 1; とかしても copy[0][1] が 1 に書き換わってしまうような事は無い。
■ このスレッドは過去ログ倉庫に格納されています