创建对象数组时出现NullPointerException

mar*_*sin 31 java arrays nullpointerexception

我一直在尝试创建一个包含两个值的类的数组,但是当我尝试将值应用于数组时,我得到一个NullPointerException.

public class ResultList {
    public String name;
    public Object value;
}
Run Code Online (Sandbox Code Playgroud)

.

public class Test {
    public static void main(String[] args){
        ResultList[] boll = new ResultList[5];
        boll[0].name = "iiii";
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误,如何解决?

Nat*_*hes 39

你创建了数组但没有放任何东西,所以你有一个包含5个元素的数组,所有元素都是null.你可以添加

boll[0] = new ResultList();
Run Code Online (Sandbox Code Playgroud)

在你设置boll [0] .name的行之前.

  • 通过实例化,您将拥有一个包含以下内容的5元素数组:{null,null,null,null,null}. (5认同)

chb*_*urd 5

ResultList[] boll = new ResultList[5];
Run Code Online (Sandbox Code Playgroud)

创建一个size = 5的数组,但不创建数组元素.

您必须实例化每个元素.

for(int i=0; i< boll.length;i++)
    boll[i] = new ResultList();
Run Code Online (Sandbox Code Playgroud)