Java 初始化后如何设置数组元素?

Java 初始化后如何设置数组元素?,java,arrays,initialization,Java,Arrays,Initialization,我正在寻找一种在数组初始化后设置数组元素的简单方法。我试过这个: package com.ehsan.app; public class Main { public static void main(String[] args) { int[] test = new int[6]; test = {1,2,3,4,5}; } } 但是,编译时会出现以下错误: Error:(7, 16) java: illegal start of expre

我正在寻找一种在数组初始化后设置数组元素的简单方法。我试过这个:

package com.ehsan.app;

public class Main {

    public static void main(String[] args) {
        int[] test = new int[6];
        test = {1,2,3,4,5};
    }
}
但是,编译时会出现以下错误:

Error:(7, 16) java: illegal start of expression
Error:(7, 17) java: not a statement
Error:(7, 18) java: ';' expected
Error:(9, 1) java: class, interface, or enum expected
我可以使用这种方式将值放入数组:

test[0] = 1;
test[1] = 2;
test[2] = 3;
test[3] = 4;
// and so on.
我只是在寻找一个简单的方法来做到这一点

编辑

我知道我可以用这个:

int[] test = {1,2,3,4};
但我想要的是一种在数组初始化后将值放入数组的简单方法

还有一件事:我不是在寻找循环

编辑


@Python给出的答案就是我想要的

如果要初始化数组,请尝试使用数组:


初始化后,不能一次分配所有值, 您可以这样做:

test[0]=1;
test[1]=2;
同样。。
希望这将有助于使用for循环初始化:

for(int i=0;i<test.length-1;i++){
 test[i]=i;
}

这将使测试数组具有0,1,2,3,4,5作为其内容

我相信除了使用循环来填充已经实例化的数组之外,没有其他方法了

但是,您不需要自己编写循环:


System.arrayCopy完成这项工作。有一天,JVM可能会决定做一些类似memcpy的事情来完成这项工作,通过使用此类内置函数,您可能会从JVM的更改中受益,而不会更改源代码。

您只需在一行中使用数组的静态方法即可:

Integer[] test = new Integer[10];
Arrays.<Integer>asList(1,2,3,4,5,6,7).toArray(test);

注意:使用“int”也可以,但是您需要添加显式强制转换int[]

如果这不是您要找的,您需要重写您的问题,因为不清楚您要找的是什么。似乎他已经编辑了他的问题,您可以删除您的评论。请在初始化数组后重写您的问题,当i=1,2,…N时,只有你能借助循环或a[i]按位置给出值。如果你这样做,test={1,2,3,4,5};就数组初始化而言,意味着您不知道什么是有效语句——这不是IDE问题,而是无效的Java语句。为什么通过循环将值放入数组元素看起来并不容易?如果数组长度是动态的,而不是没有循环,则可以使用递归。我不熟悉C语言,但在Java中,一旦将内存分配给数组变量,就没有一个线性简表来放入该数组的所有值。您必须使用PythonSo的答案中列出的API类,没有更简单的方法可以做到这一点!?为了更方便,只需使用for循环..当然,我知道,我们只是在初始化后寻找某种初始化列表!,谢谢。forint i=0;这看起来很酷,感谢这一方法的提醒:对于这里的大多数其他方法,如果测试比初始化列表短,您仍将使用足够的元素填充到测试中,并忽略初始化列表中的其余元素。然而,对于这种方法,它将被默默地忽略,测试将保持未初始化状态。
for(int i=0;i<test.length-1;i++){
 test[i]=i;
}
Integer[] test = new Integer[10];
Arrays.<Integer>asList(1,2,3,4,5,6,7).toArray(test);