需要澄清java数组声明吗

需要澄清java数组声明吗,java,arrays,Java,Arrays,如果我们做int[]b={2,4}然后我们有一个名为b的数组,长度为2。据我所知,java编译器正在隐式地执行int[]b=newint[]{2,4}对我来说,很好 类似地,如果我们做int[]c=newint[2],然后我们得到一个名为c的数组,它被初始化为{0,0},我的困惑来自于为什么下面的代码不起作用: 为什么我不能做int[]d=newint[2]{5,6}这只是一个编译器的东西。此外,为什么还要手动输入大小? 这只是一个错误的来源 如果您已经知道要声明的数组的内容,那么int[]b=

如果我们做
int[]b={2,4}然后我们有一个名为b的数组,长度为2。据我所知,java编译器正在隐式地执行
int[]b=newint[]{2,4}对我来说,很好

类似地,如果我们做
int[]c=newint[2]
,然后我们得到一个名为c的数组,它被初始化为
{0,0}
,我的困惑来自于为什么下面的代码不起作用:


为什么我不能做
int[]d=newint[2]{5,6}

这只是一个编译器的东西。此外,为什么还要手动输入大小? 这只是一个错误的来源


如果您已经知道要声明的数组的内容,那么
int[]b=new int[]{2,4}
符号是为了方便起见。

这只是一个编译器的东西。此外,为什么还要手动输入大小? 这只是一个错误的来源


int[]b=newint[]{2,4}
符号是为了方便,如果您已经知道要声明的数组的内容。

+1-也许在部分初始化一个数组的同时仍然给它一个更大的大小,这是我唯一想到的,如果它实际上是可能的,为什么它可能会有帮助。+1-也许在部分初始化一个数组的同时仍然给它一个更大的大小,这是我唯一想到的原因如果真有可能的话,这可能会有帮助。