在创建数组initlializer时,为什么不必输入new?

时间:2016-03-11 00:06:13

标签: java arrays

因此,对于标准数组,我理解它被声明为如下所示。

    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};   

1 个答案:

答案 0 :(得分:0)

在数组创建表达式的运行时评估期间,如果没有维度表达式,则必须有一个数组初始值设定项。新分配的数组将使用数组初始化程序提供的值进行初始化,这在内部发生。数组初始值设定项的值变为数组创建表达式的值,该表达式是一个Object,由初始化为的变量引用。这主要归功于语言的设计。

选中此项:https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.10.1了解更多信息