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