从数组访问方法时出现java.lang.NullPointerException错误

时间:2014-03-31 22:19:45

标签: java arrays nullpointerexception

我只是坚持错误“线程中的异常”主“java.lang.NullPointerException ” 请通过解决方案告诉我我犯的错误。它是一个简单的数组。我如何从这个数组访问方法setAge(int)。

    Person arr[] = new Person[2];

    arr[0].setAge(20);

感谢。

4 个答案:

答案 0 :(得分:6)

您正在创建一个包含两个空插槽的数组。首先填充这些插槽:

arr[0] = new Person();
arr[1] = new Person();

或者对于大数组使用循环:

for(int personIndex = 0; personIndex < arr.size; personIndex++)
{
    arr[personIndex] = new Person();
}

答案 1 :(得分:2)

您永远不会初始化阵列中的任何对象。

arr[0] = new Person();

答案 2 :(得分:1)

您尚未初始化一系列人员。首先像这样初始化数组的对象

 Person arr[] = new Person [2];
 arr[0]=new Person ();
 arr[1]=new Person ();

现在设定人的年龄: -

 arr[0].setAge(20);
 arr[1].setAge(25);

答案 3 :(得分:0)

new Person [2]创建一个数组,它可以在arr [0]和arr [1](基本上等于null)中保存两个人对象。但是你没有将arr [0]初始化为一个新的Person对象。地点。所以当试图为位于arr [0]的对象设置值时,你试图将age设置为一个空对象,它会抛出一个空指针异常..