2012-08-01 69 views
0

這編譯和工作原理:的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}; 
    } 
} 

這是爲什麼?如何在不使用臨時局部變量的情況下將數組分配給非局部變量?

+3

數組只能在聲明期間以此方式分配。 – Baz 2012-08-01 19:27:04

+0

eclipse消息:**數組常量只能在初始化程序中使用**簡單的那樣;) – 2012-08-01 19:31:31

回答

5

該變量已被聲明。您需要這樣分配:

array = new int[] {42}; 
+0

謝謝,這個工程。 – 2012-08-01 19:32:01

0

初始值設定項只能在聲明點出現。
在您的情況下,您已將array聲明爲static成員,因此您錯過了機會......