如何使用长度和某些元素定义数组';Java的价值?

如何使用长度和某些元素定义数组';Java的价值?,java,arrays,initialization,Java,Arrays,Initialization,我需要定义一个数组,我知道前三个元素是1,2,3,但是这个数组的长度是一个标识的num,比如6,我将在一个方法中添加其他元素,我使用 int[] a = new int[6]{1,2,3}; 但是eclipse告诉我一个错误。我必须使用像ArrayList这样的容器吗?我能用数组解决它吗?有没有比这更优雅的方法 int[] a = new int[]{1,2,3,0,0,0} 或 因为未知元素或已知元素可能很多,所以我不想逐一编写它们。Java不提供语法来完成您尝试执行的操作。它需要声明的元

我需要定义一个数组,我知道前三个元素是1,2,3,但是这个数组的长度是一个标识的num,比如6,我将在一个方法中添加其他元素,我使用

int[] a = new int[6]{1,2,3};
但是eclipse告诉我一个错误。我必须使用像ArrayList这样的容器吗?我能用数组解决它吗?有没有比这更优雅的方法

int[] a = new int[]{1,2,3,0,0,0}


因为未知元素或已知元素可能很多,所以我不想逐一编写它们。

Java不提供语法来完成您尝试执行的操作。它需要声明的元素数与您提供的初始值设定项数匹配

如果要初始化数组的一部分,可以这样做:

int[] a = new int[16];
{
    System.arraycopy(new int[] {1,2,3}, 0, a, 0, 3);
}

只需初始化数组,并为您还不知道的值设置0

int[] a = new int[] { 1,2,3,0,0,0 }

或者,如果使用整数而不是int,则可以使用null,但我不建议使用null,除非您确实需要null值。

您只能定义具有固定大小的数组。如果在创建数据时提供数据,则必须为所有字段指定一个值。这就是为什么第一段代码是错误的,并导致您使用第二段代码。

例如,您可以始终从文件中读取它们,否则您必须使用显示的方法之一。如果您有很多元素,那么使用文件是有意义的。通常,当您处理任意长度的数组时,最好使用列表,这将消除处理大小限制的复杂性。
int[] a = new int[] { 1,2,3,0,0,0 }