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

回答編集履歴

2

追記

2016/02/19 13:31

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -1,1 +1,27 @@
1
- `outUserData[i]= new User();`を追加してください
1
+ `outUserData[i]= new User();`を追加してください
2
+
3
+
4
+ ---
5
+
6
+ 初学者にありがちな勘違いなんですが、
7
+
8
+ ```java
9
+ Hoge[] HogeArray = new Hoge[N];
10
+ ```
11
+ みたいな表記は`Hoge[]`を`new`したのであって、中身の`Hoge`は`new`してません
12
+ (むしろそうでないと困る。)
13
+
14
+ したがって、配列だけ宣言した状態では
15
+
16
+ ```java
17
+ Hoge hoge_0;
18
+ Hoge hoge_1;
19
+ Hoge hoge_2;
20
+ ...
21
+
22
+ hoge_1.getName("hoge1");
23
+ ```
24
+ みたいなことやっているのとほぼ同じです。
25
+
26
+ 参照型の初期値はnullなので、
27
+ nullにアクセスしようとした:NullPointerExceptionが起きてます。

1

typo

2016/02/19 13:31

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -1,1 +1,1 @@
1
- `outUserData[i]= new UserData();`を追加してください
1
+ `outUserData[i]= new User();`を追加してください