为什么我在这个for循环中得到NullPointerException?

Jes*_*nce 0 java for-loop exception

这是我的代码:

Comic[] comix = new Comic[3];  
comix[0] = new Comic("The Amazing Spider-man","A-1","Very Fine",9240.00F);  
comix[0].setPrice((Float)quality.get(comix[0].condition));  
for(int i=0;i<comix.length;i++){  
    System.out.println("Title: " + comix[i].title);  
}  
Run Code Online (Sandbox Code Playgroud)

为什么在此代码运行时我得到NullPointerException?

Jon*_*eet 12

你只是设置值comix[0],但你也在循环中获取comix[1].title和comix[2].title,就像comix.length是3.引用类型数组中每个元素的默认值是null.长度是整个数组的长度,而不仅仅是"填充"元素.

您可能会发现List<T>(最常用的实现ArrayList<T>)更容易使用.