我在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”,你通常会有一个关于的官方教程链接作为第一个结果。 –