类数组中的空指针异常

时间:2015-04-08 05:42:04

标签: java arrays class

我想创建一个类Info

的大小为150的数组
public class Info {
    int Group;
    String Name;
}

但我在

之后发生异常
 public class Mover {
        static Info[] info=new Info[150];
            public static void main(String[] args) {
            info[0].Group=2;//I get error here
        }
}

我不确定是否有更好的方法来做想做的事,但我不想使用多维数组。我只是想向小组添加信息,所以我很困惑。

3 个答案:

答案 0 :(得分:1)

执行new Info[150]只是实例化一个大小为150的数组。数组中的所有元素都没有被实例化,因此是空的。

因此,当您执行info[0]时,它会返回null并且您正在访问null.Group

您必须先info[0] = new Info()

答案 1 :(得分:0)

这个static Info[] info=new Info[150];正在创建一个包含150个Info类型对象的数组,指向NULL。 你必须这样做才能实现这个目标

for(int i = 0; i< 150; i++) info[i] = new Info();

然后你可以使用这些对象

答案 2 :(得分:0)

首先阅读一些教程Java Arrays

您需要初始化数组元素,如:

info[0] = new Info()

来自JLS 10.6. Array Initializers

  

可以在声明(第8.3节,第9.3节,第14.4节)中指定数组初始值设定项,或者作为数组创建表达式(第15.10节)的一部分,以创建数组并提供一些初始值。