java无法将数组内联赋值给非局部变量

时间:2012-08-01 19:26:20

标签: java

编译并运作:

public class Test {
    public static int[] array;
    public static void main(String[] args) {
        int[] temp = {42};
        array = temp;
    }
}

这不是:

public class Test {
    public static int[] array;
    public static void main(String[] args) {
        array = {42};
    }
}

这是为什么?如何在不使用临时局部变量的情况下将数组分配给非局部变量?

2 个答案:

答案 0 :(得分:5)

该变量已被声明。你需要这样分配它:

array = new int[] {42};

答案 1 :(得分:0)

初始化程序只能在声明时发生 在您的情况下,您已将array声明为static成员,因此您错过了机会...