对象数组空指针异常

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

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

原文地址:https://www.cnblogs.com/hzauxx/p/11534677.html