teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

回答がいただけていないので、削除します

2016/09/29 15:04

投稿

退会済みユーザー
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

冒頭部分を訂正。

2016/09/29 15:04

投稿

退会済みユーザー
answer CHANGED
@@ -1,8 +1,10 @@
1
- 0. componentType が配列でない…場合、新しい配列大きさは dimensions.length
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

わかりやすくするために記事を全体的に修正

2016/09/26 16:26

投稿

退会済みユーザー
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
- 前者と後者の出力結果は、それぞれ"[[Ljava.lang.String;"(2次元)と"[[[Ljava.lang.String;"(3次元)です
16
+ 前者と後者の出力結果は、ともに"[[[Ljava.lang.String;"です。
17
+ 先頭に"["が3個ありますので、3次元ですね。
17
18
 
18
- つまり、前者は、第2引数が2次元配列なので、復帰値はそのまま2次元です。
19
+ つまり、前者は、第2引数が3次元配列なので、復帰値はそのまま3次元配列です。
19
- 対して、後者は、第1引数が1次元配列、第2引数が2次元配列なので、その合計3次元になります。
20
+ 対して、後者は、第1引数が1次元配列、第2引数が2次元配列なので、その合計3次元配列になります。