有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在初始化数组元素后设置它?

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

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给出的答案就是我想要的


共 (5) 个答案

  1. # 1 楼答案

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

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

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

  2. # 2 楼答案

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

    test[0]=1;
    test[1]=2;
    

    同样地。。 希望这能有所帮助

  3. # 3 楼答案

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

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

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

  4. # 4 楼答案

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

    int[] test = new int[6];
    int[] test = {1,2,3,4,5,6};
    

    int[] test = new int[]{1,2,3,4,5,6};
    
  5. # 5 楼答案

    使用for循环初始化:

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

    这将使测试数组的内容为0,1,2,3,4,5