Java中对象数组空指针异常问题
记录一个Java中遇到的问题。
在图的广度优先遍历中用到了队列,在类中定义的内部类,并且在外部类中声明了内部类的一个对象数组,但是在使用对象数组时一直报 NullPointerException。
部分代码如下:
public class BFS {public static void main(String[] args){//部分代码略//队列初始化Note[] notes=new Note[5];int head=1;int tail=1;notes[head].x=start;notes[tail].s=0;tail++;} }
class Note{
int x=0; //城市编号int s=0; //转机次数
}
异常信息:
查了资料才发现这个问题:
这里的 Note[] notes=new Note[5]; 只是声明了一个对象数组,但是对象数组内的每个对象却并没有初始化,这里需要手动对每个对象进行初始化。加上了下面这串代码:
for(int i=0;i<N+1;i++){notes[i]=new Note();
}
吾生也有涯,而知也无涯。