4
int x[][] = {{1, 2}, {3, 4}};

配列はオブジェクトであり、2 次元配列は配列の配列であるため、この小さなコードにはいくつのオブジェクトが含まれているでしょうか?

4

2 に答える 2

10

三。オブジェクトの最上位配列用に 1int[]つと、オブジェクトが 2 つint[]

要素 (整数自体) はオブジェクトではありません。


「オブジェクト」であるという私の基準はjava.lang.Object、直接的または間接的なスーパータイプとして持つものです。すべての配列型は暗黙的に のサブタイプですObjectint、プリミティブ データ型であり、 のサブタイプではありません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};
于 2013-04-03T10:15:43.857 に答える
0

次の 3 つの視点を採用できます。

  • int2 次元配列には 4 つの値があります。
  • それぞれが 2 つの値を含む 2 つの 1 次元配列を含む 1 つの 1 次元配列も確認できます。
  • intvsを中心とした 3 番目の視点は、arraysStephen C の回答で公開されています。これは、3 つの配列と 4 つのint値を作成し、実際には 2 番目の配列を別の言い方で表現したものです (つまり、3 つの POV)。
于 2013-04-03T10:15:36.917 に答える