我在Java的初學者,我不能對這個很基本的問題找到信息:數組大小的聲明是非法的
的Eclipse並不讓我聲明固定大小的數組:
public class Camera {
public Boolean [10] glCapabilities;
//...
}
它說,
令牌 「10」,刪除此令牌
語法錯誤所以我可以聲明一個「動態」大小的數組,但不是一個固定大小的數組。對我來說,就像宣佈10個公共布爾值爲該類的屬性一樣。
這是怎麼回事?
我在Java的初學者,我不能對這個很基本的問題找到信息:數組大小的聲明是非法的
的Eclipse並不讓我聲明固定大小的數組:
public class Camera {
public Boolean [10] glCapabilities;
//...
}
它說,
令牌 「10」,刪除此令牌
語法錯誤所以我可以聲明一個「動態」大小的數組,但不是一個固定大小的數組。對我來說,就像宣佈10個公共布爾值爲該類的屬性一樣。
這是怎麼回事?
在Java中聲明一個數組並不要求或允許大小規範。這需要考慮int[10]
一個類型,例如,type(int[10]) != type(int[5])
。但是在Java中,您可以聲明T[]
類型,但不能強制聲明的大小。
你只在初始化過程中創建指定大小的數組:
boolean[] glCapabilities = new boolean[10];
聲明中指定大小很有意義在需要知道確切的尺寸(如C/C++中,你可以一語在堆棧中分配它們),但是這在Java中不是必需的,因爲它們在任何情況下都駐留在堆上。
非常感謝您的澄清。事實上,我來自C++,我很抱歉地說這個,但Java和C++之間的差異在C++中是如此受歡迎。這是我第三次面對Java缺乏代碼讓我負責(其他情況:運算符重載,導入機制)。 – mireazma
public Boolean[] glCapabilities = new Boolean[10];
查看數組語法。 –
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html – DreamBig
Google是一個很棒的工具。輸入「Java tutorial」,你通常會有一個關於的官方教程鏈接作爲第一個結果。 –