int x[][] = {{1, 2}, {3, 4}};
配列はオブジェクトであり、2 次元配列は配列の配列であるため、この小さなコードにはいくつのオブジェクトが含まれているでしょうか?
三。オブジェクトの最上位配列用に 1int[]
つと、オブジェクトが 2 つint[]
。
要素 (整数自体) はオブジェクトではありません。
「オブジェクト」であるという私の基準はjava.lang.Object
、直接的または間接的なスーパータイプとして持つものです。すべての配列型は暗黙的に のサブタイプですObject
がint
、プリミティブ データ型であり、 のサブタイプではありませんObject
。
注意すべきもう 1 つのことは、文字通りの意味でint[][]
「配列」を意味することです。で見つかるオブジェクトは、実際のファースト クラスのオブジェクトですint[]
。あなたの宣言int[]
int[][]
int[][] x = {{1,2}, {3,4}};
これの省略形です:
int[][] x = new int[2][]();
x[0] = new int[]{1, 2};
x[1] = new int[]{3, 4};
次の 3 つの視点を採用できます。
int
2 次元配列には 4 つの値があります。int
vsを中心とした 3 番目の視点は、arrays
Stephen C の回答で公開されています。これは、3 つの配列と 4 つのint
値を作成し、実際には 2 番目の配列を別の言い方で表現したものです (つまり、3 つの POV)。