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 つの視点を採用できます。
int2 次元配列には 4 つの値があります。intvsを中心とした 3 番目の視点は、arraysStephen C の回答で公開されています。これは、3 つの配列と 4 つのint値を作成し、実際には 2 番目の配列を別の言い方で表現したものです (つまり、3 つの POV)。