在建立java对象数组时,容易出错。
public static void CreateNode(int l){
Node = new gnode[l];
for (int i = 0; i < l; i++) {
Node[i].id = i;
System.out.println("node[i].id:"+Node[i].id);
}
System.out.println("success createnode:");
}
此时用new来创建数组后,运行会报Exception in thread “main” java.lang.NullPointerException的错。因为此时数组还是引用数组,内存并没有开辟空间给该数组的每个元素,因此数组的每个元素都要用new来生成新的引用。
public static void CreateNode(int l){
Node = new gnode[l];
for (int i = 0; i < l; i++) {
Node[i] = new gnode();
Node[i].id = i;
System.out.println("node[i].id:"+Node[i].id);
}
System.out.println("success createnode:");
}
此时就不会报错