因此,对于标准数组,我理解它被声明为如下所示。
int array[]=new array[10];
然而,对于数组初始化器,它被声明为多个值,如下所示,我的问题是为什么在创建数组初始化器时我们不需要输入new?
int array[]={1,2,3,12,131,3213,12,3,213,213,12,321,3,213,23,2,23132};
答案 0 :(得分:0)
在数组创建表达式的运行时评估期间,如果没有维度表达式,则必须有一个数组初始值设定项。新分配的数组将使用数组初始化程序提供的值进行初始化,这在内部发生。数组初始值设定项的值变为数组创建表达式的值,该表达式是一个Object,由初始化为的变量引用。这主要归功于语言的设计。
选中此项:https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.10.1了解更多信息