0

这编译并工作:

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};
    }
}

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

4

2 回答 2

5

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

array = new int[] {42};
于 2012-08-01T19:28:02.193 回答
0

初始化器只能出现在声明点。
在您的情况下,您已经宣布arraystatic会员,所以您错过了机会......

于 2012-08-01T19:34:35.833 回答