2012-10-31 42 views
0

IM在一所学校分配的工作,和IM应该使HashMap中的数组是这样的:阵列的HashMap的一个HashMap的

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

IM从文件中读取,它是这样的。问题是,它会给出NullPointerException,我尝试将心情置于情绪[0]中!无法找到关于HashMap的阵列在我的书是如何工作的事情.. :(将竭诚为所有帮助(:

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 
} 
+0

提示:数组的第一个元素es没有索引1. – 2012-10-31 11:51:57

回答

2

一个实例来填充它基本上,你没有初始化的心情数组,但它与null小号初始化。所以,如果你可以调用情绪的任何方法[0](或任何其他指数),你需要在心情[0]中放置一个非空对象。

+0

在此之前我不知道它,对不起。将现在修复它。但是谢谢! – Lisa

1

当您创建对象的数组,数组元素是最初为null,因此使用前mood[0] ,你需要的HashMap<String, Person>