概要
Javaで「配列をコピーする(シャローコピーとディープコピー)」の動作を確認してみました。
以下のページを参考にしました。
実装
以下のファイルを作成しました。
JSample10_1.java
class JSample10_1{
public static void main(String[] args){
MyTest[] src = {new MyTest(28), new MyTest(12)};
MyTest[] dst = new MyTest[2];
for (int i = 0; i < src.length; i++){
dst[i] = new MyTest(src[i].num);
}
System.out.println("src[0] = " + src[0].num); // 28
System.out.println("dst[0] = " + dst[0].num); // 28
src[0].num = 41;
System.out.println("src[0] = " + src[0].num); // 41
System.out.println("dst[0] = " + dst[0].num); // 16
}
}
class MyTest{
public int num;
public MyTest(int n){
num = n;
}
}
以下のコマンドを実行しました。
$ javac JSample10_1.java
$ java JSample10_1
src[0] = 28
dst[0] = 28
src[0] = 41
dst[0] = 28
まとめ
何かの役に立てばと。