【问题标题】:java.lang.NullPointerException error while accessing method from array从数组访问方法时出现 java.lang.NullPointerException 错误
【发布时间】:2014-03-31 22:19:45
【问题描述】:

我只是遇到错误“线程“main”java.lang.NullPointerException中的异常” 请告诉我我犯的错误,并提供解决方案。它是一个简单的数组。我如何从这个数组访问方法 setAge(int)。

    Person arr[] = new Person[2];

    arr[0].setAge(20);

谢谢。

【问题讨论】:

  • 先填满你的数组..

标签: java arrays nullpointerexception


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    您永远不会初始化数组中的任何对象。

    arr[0] = new Person();
    

    【讨论】:

      【解决方案3】:

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

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

      现在设置人的年龄:-

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

      【讨论】:

        【解决方案4】:

        new Person[2] 创建了一个数组,该数组可以在 arr[0] 和 arr[1] 处保存两个 person 对象(基本上等于 null)。但是您还没有将 arr[0] 初始化为每个新的 Person 对象地点。因此,当尝试为位于 arr[0] 的对象设置值时,您会尝试将年龄设置为空对象,这会引发空指针异常..

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-11-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多