Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组大小的声明是非法的_Java_Arrays - Fatal编程技术网

Java 数组大小的声明是非法的

Java 数组大小的声明是非法的,java,arrays,Java,Arrays,我是Java初学者,我找不到关于这个基本问题的信息: Eclipse不允许我声明固定大小的数组: public class Camera { public Boolean [10] glCapabilities; //... } 上面说, 令牌10上出现语法错误,请删除此令牌 因此,我可以声明动态大小的数组,但不能声明固定大小的数组。对我来说,这就像声明10个公共布尔值作为类的属性 这有什么问题?Java中的数组声明不需要或不允许大小规范。这将需要考虑int(10)A类型,因此

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

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

public class Camera {
    public Boolean [10] glCapabilities;
    //...
}
上面说,

令牌10上出现语法错误,请删除此令牌

因此,我可以声明动态大小的数组,但不能声明固定大小的数组。对我来说,这就像声明10个公共布尔值作为类的属性


这有什么问题?

Java中的数组声明不需要或不允许大小规范。这将需要考虑int(10)A类型,因此,例如,Type int(10)!typeint[5]。但是在Java中,您可以只声明T[]类型,而不必强制声明的大小

public Boolean[] glCapabilities = new Boolean[10];
您只需在初始化期间创建指定大小的数组:

boolean[] glCapabilities = new boolean[10];

在声明过程中指定大小在需要知道确切大小的语言中是有意义的,比如C/C++语言,您可以在堆栈上分配它们,但在Java中这不是必需的,因为它们在任何情况下都驻留在堆上。

Google是一个很棒的工具。键入Java tutorial,通常会有一个关于第一个结果的官方教程的链接。正如我所说:我已经在Google和StackOverflow上阅读了很多数组示例,但我找不到一个事实,即我不能在声明时声明大小。对我来说,来自C++是毫无意义的。读了四遍DreamBig的链接后,我意识到。我仍然认为我写的语法应该被允许。为什么我的问题被否决了?我认为这很清楚;在提问之前,我已经在谷歌上花了15分钟;关于有用性,我不认为我首先要确定我的问题对别人有用,然后才对我有用。非常感谢你的澄清。事实上,我来自C++,很抱歉这么说,但是java和C++之间的差异是C++的。这是我第三次面对Java缺乏代码的情况,让我负责其他情况:操作符重载、导入机制。