回答編集履歴
3
回答がいただけていないので、削除します
answer
CHANGED
@@ -1,22 +1,1 @@
|
|
1
|
-
|
1
|
+
|
2
|
-
|
3
|
-
0. componentTypeが配列でない…場合、「新しい配列の大きさ」=「dimensions.length」
|
4
|
-
0. componentTypeが配列クラス…場合、「新しい配列の次元数」=「dimensions.length」+「componentType の次元数」
|
5
|
-
|
6
|
-
「大きさ」と「次元数」とことばが違いますが、意味していることは同じのようです。
|
7
|
-
|
8
|
-
```Java
|
9
|
-
//前者の例
|
10
|
-
Object o = Array.newInstance(String.class, new int[]{5, 2, 1});
|
11
|
-
System.out.println(o.getClass().getName());
|
12
|
-
|
13
|
-
//後者の例
|
14
|
-
Object o = Array.newInstance(String[].class, new int[]{5, 2});
|
15
|
-
System.out.println(o.getClass().getName());
|
16
|
-
```
|
17
|
-
|
18
|
-
前者と後者の出力結果は、ともに"[[[Ljava.lang.String;"です。
|
19
|
-
先頭に"["が3個ありますので、3次元ですね。
|
20
|
-
|
21
|
-
つまり、前者は、第2引数が3次元配列なので、復帰値はそのまま3次元配列です。
|
22
|
-
対して、後者は、第1引数が1次元配列、第2引数が2次元配列なので、その合計の3次元配列になります。
|
2
冒頭部分を訂正。
answer
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
-
|
1
|
+
整理すると次のようになります。
|
2
|
-
0. componentType が配列クラス…場合、新しい配列の次元数は、dimensions.length および componentType の次元数の合計です。
|
3
2
|
|
4
|
-
「大きさ」
|
3
|
+
0. componentTypeが配列でない…場合、「新しい配列の大きさ」=「dimensions.length」
|
4
|
+
0. componentTypeが配列クラス…場合、「新しい配列の次元数」=「dimensions.length」+「componentType の次元数」
|
5
5
|
|
6
|
+
「大きさ」と「次元数」とことばが違いますが、意味していることは同じのようです。
|
7
|
+
|
6
8
|
```Java
|
7
9
|
//前者の例
|
8
10
|
Object o = Array.newInstance(String.class, new int[]{5, 2, 1});
|
1
わかりやすくするために記事を全体的に修正
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
```Java
|
7
7
|
//前者の例
|
8
|
-
Object o = Array.newInstance(String.class, new int[]{5, 2});
|
8
|
+
Object o = Array.newInstance(String.class, new int[]{5, 2, 1});
|
9
9
|
System.out.println(o.getClass().getName());
|
10
10
|
|
11
11
|
//後者の例
|
@@ -13,7 +13,8 @@
|
|
13
13
|
System.out.println(o.getClass().getName());
|
14
14
|
```
|
15
15
|
|
16
|
-
前者と後者の出力結果は、
|
16
|
+
前者と後者の出力結果は、ともに"[[[Ljava.lang.String;"です。
|
17
|
+
先頭に"["が3個ありますので、3次元ですね。
|
17
18
|
|
18
|
-
つまり、前者は、第2引数が
|
19
|
+
つまり、前者は、第2引数が3次元配列なので、復帰値はそのまま3次元配列です。
|
19
|
-
対して、後者は、第1引数が1次元
|
20
|
+
対して、後者は、第1引数が1次元配列、第2引数が2次元配列なので、その合計の3次元配列になります。
|