当我尝试访问我创建的数组的元素并且不知道为什么时,我不断收到 NullPointerException。抛出的代码:
TreeNode[] list1;
list1 = new TreeNode[1000];
list1[0].edges = new EdgeNode(1); //Throw line
但如果我这样做,它会起作用:
TreeNode[] list1;
list1 = new TreeNode[1000];
list1[0] = new TreeNode();
list1[0].edges = new EdgeNode(1);
我不知道为什么。显然,我可以 for 循环遍历整个数组并创建新元素,但这不会破坏 new 的意义吗?此外,如果相关,我已经为 TreeNode 定义了默认构造函数。