【发布时间】:2018-04-21 08:50:24
【问题描述】:
我们可以通过两种方式之一声明和初始化一维数组
一个我们可以使用 new 关键字声明,而在另一个我们不使用 new 关键字。那么当我们不使用 new 关键字时,内存分配是如何完成的。 另外,在 java 中使用数组时,我们什么时候应该进行新的声明
int []a = new int[5];
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=4;
a[4]=5;
int []b = {1,2,3,4,5}
【问题讨论】:
-
你写它的方式实际上是唯一的区别。这两个初始化在语义上是相同的。备注:在Java中,数组括号应该直接在类型之后,而不是在变量名之前,因为它们会影响类型:
int []b->int[] b -
@Turing85:谢谢你的解释,所以这意味着使用第二种声明和初始化方式也可以像 new 关键字一样工作。在幕后它会像完成一样分配内存用新的关键字。它只是语义上的差异。
-
"这只是语义上的差异。" - 如果“语义”是指“句法”,那么是的 =)
-
@Turing85:是的,再次感谢您的澄清!