我想创建一个类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
}
}
我不确定是否有更好的方法来做想做的事,但我不想使用多维数组。我只是想向小组添加信息,所以我很困惑。
答案 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节)的一部分,以创建数组并提供一些初始值。