为什么当我尝试像这样初始化数组时会给我一个错误
package practicejava;
class Test {
public static void main(String[] args) {
int[] array;
array ={};
}
}
为什么下面的代码向我显示错误?
答案 0 :(得分:1)
更改如下:
int[] array;
array = new int[]{};
您当前分配数组的方式无效。
答案 1 :(得分:0)
您必须在数组中声明数组大小,如下所示:
perl
答案 2 :(得分:0)
该数组需要在与以下代码相同的代码行中声明:-
int[] array = new int[]{...};
代码的第一行是:-
int [] array = {...}
此行是Java允许的,只是上述声明的简写形式。请注意,只有在数组的声明和初始化同时完成时才允许这样做(数组的分配在内部进行,并根据元素的数量来完成)。
线
int [] array;
只是在堆栈中创建一个引用,该引用为null,这是它不指向任何内容。
但是,当您执行array = {...}
时,它不再有效,因为需要在初始化之前分配内存。 Java不内部处理此类初始化。
所以,建议初始化
array = new int [] {...}
代替。