首页 > 解决方案 > 从对象初始化数组会产生 NullPointerException

问题描述

我想从对象的数组中设置一些数据,这里是 A 类,它会导致 NullPointerException。为什么?如何解决这个问题?我的初始化有什么问题?

class A {

    int a;

    public void setA(int a) {
        this.a = a;
    }

public class ObjArry {
public static void main(String[] args) {

    A[] ObjectArray = new A[5];

    ObjectArray[0].setA(10); //Exception occurs in this line
    ObjectArray[1].setA(9);
    ObjectArray[2].setA(8);
    ObjectArray[3].setA(7);
    ObjectArray[4].setA(6);
}

标签: javaarraysobjectexceptionnullpointerexception

解决方案


所有其他行也会发生异常。默认情况下,新初始化的数组new A[5]是空的,即它的所有字段都是null. 您首先必须执行以下操作:

ObjectArray[0] = new A();
ObjectArray[1] = new A();
ObjectArray[2] = new A();
ObjectArray[3] = new A();
ObjectArray[4] = new A();

推荐阅读