0

私は学校の課題に取り組んでおり、次のようなハッシュマップの配列を作成することになっています。

HashMap<String, Person>[] mood = (HashMap<String, Person>[])  new HashMap<?, ?>[6];

ファイルから読み取ると、次のようになります。問題は、ムードをmood[0]に入れようとするNullPointerExceptionが発生することです。私の本でhashmap-arrayがどのように機能するかについては何も見つかりません。

Person p = new Person();
p.name = word[1];
p.age = word[2];
p.mood = word[3];

people.put(p.name, p);

 if (p.mood.equals("HAPPY")) {
 mood[0].put(p.mood, p); //NullPointerException 
 }
4

2 に答える 2

2

基本的に、ムードの配列を初期化しましたが、nullsで初期化されています。したがって、mood [0](または他のインデックス)でメソッドを呼び出す前に、mood[0]内にnull以外のオブジェクトを配置する必要があります。

于 2012-10-31T12:02:34.843 に答える
1

オブジェクトの配列を作成する場合、配列要素は最初はnullであるため、を使用する前にmood[0]、次のインスタンスを入力する必要があります。HashMap<String, Person>

于 2012-10-31T12:01:22.833 に答える