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

初期化子は、宣言の時点でのみ発生できます。
あなたの場合、すでにメンバーとして宣言してarrayいるstaticため、チャンスを逃しました...

于 2012-08-01T19:34:35.833 に答える