阵列大小声明是非法的

时间:2014-03-01 17:57:37

标签: java arrays

我是Java的初学者,我找不到关于这个基本问题的信息:

Eclipse不允许我声明一个固定大小的数组:

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

它说,

  

令牌“10”上的语法错误,删除此令牌

所以我可以声明一个“动态”大小的数组但不是固定大小的数组。对我而言,就像宣布10个公共布尔值作为班级的属性一样。

这有什么问题?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

Java中的数组声明不需要或允许大小规范。这需要考虑int[10]类型,例如type(int[10]) != type(int[5])。但是在Java中,你可以声明一个T[]类型而不能强制声明的大小。

您只需在初始化期间创建指定大小的数组:

boolean[] glCapabilities = new boolean[10];

在声明期间指定大小在一种需要知道确切大小的语言中是有意义的(比如可以在堆栈中分配它们的C / C ++),但这在Java中不是必需的,因为它们驻留在堆中无论如何。