1
0

More than 1 year has passed since last update.

配列のcloneメソッドについて

Last updated at Posted at 2022-09-07

Java silverの学習において、
何度か配列のcloneメソッドで間違えたので、備忘録を残す。

配列のcloneメソッド

名の通り、配列のコピーを行うもので、同じ値を持った配列インスタンスが複製される。

int[] arrayA = {1,2,3};
int[] arrayB = arrayA.clone();
System.out.print(arrayA == arrayB); //false

上記だと、arrayAとarrayBには同じ{1,2,3}の値が入っていることになるが、
配列のインスタンスを複製しているので同一ではない。

注意したい点

配列をcloneすると同じ値を持った配列インスタンスが複製されますが、
参照先は同じなので、以下はtrueになる。

int[][] arrayA = {{1,2,3},{4,5,6}};
int[][] arrayB = arrayA.clone();
System.out.print(arrayA[0] == arrayB[0]); //true

また、clone後にarrayAの値を変更しても、arrayBの値に影響はない。

int[] arrayA = {1,2,3};
int[] arrayB = arrayA.clone();
arrayA[0] = 5;
//arrayB= {1,2,3}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0