对象数组空指针异常

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();
}

 

 

 

 

吾生也有涯,而知也无涯。

 

posted @ 2019-09-17 16:17  V少年如他  阅读(791)  评论(0编辑  收藏  举报