2014-03-01 64 views
-6

我在Java的初學者,我不能對這個很基本的問題找到信息:數組大小的聲明是非法的

的Eclipse並不讓我聲明固定大小的數組:

public class Camera { 
    public Boolean [10] glCapabilities; 
    //... 
} 

它說,

令牌 「10」,刪除此令牌

語法錯誤所以我可以聲明一個「動態」大小的數組,但不是一個固定大小的數組。對我來說,就像宣佈10個公共布爾值爲該類的屬性一樣。

這是怎麼回事?

+2

查看數組語法。 –

+1

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html – DreamBig

+0

Google是一個很棒的工具。輸入「Java tutorial 」,你通常會有一個關於的官方教程鏈接作爲第一個結果。 –

回答

0

在Java中聲明一個數組並不要求或允許大小規範。這需要考慮int[10]一個類型,例如,type(int[10]) != type(int[5])。但是在Java中,您可以聲明T[]類型,但不能強制聲明的大小。

你只在初始化過程中創建指定大小的數組:

boolean[] glCapabilities = new boolean[10]; 

聲明中指定大小很有意義在需要知道確切的尺寸(如C/C++中,你可以一語在堆棧中分配它們),但是這在Java中不是必需的,因爲它們在任何情況下都駐留在堆上。

+0

非常感謝您的澄清。事實上,我來自C++,我很抱歉地說這個,但Java和C++之間的差異在C++中是如此受歡迎。這是我第三次面對Java缺乏代碼讓我負責(其他情況:運算符重載,導入機制)。 – mireazma

0
public Boolean[] glCapabilities = new Boolean[10];