Java数组中的最大维数
出于好奇,你可以在Java中拥有多少个数组维度?
Java 语言不限制维度数,但Java VM规范将维度数限制为255。
例如,以下代码将无法编译:
class Main { public static void main(String[] args) { final int[][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] [][][][][][][][][][][][][][][][] x; } }
有错误:
1.java:18: error: array type has too many dimensions [][][][][][][][][][][][][][][][] x; ^ 1 error
(参考: https : //docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.4.1 “数组类型描述符仅在其表示255或更少维度时才有效。 “)
严格来讲
Maximum number of dimensions in a Java array
在java中只有一维数组是可能的。 因为在引擎盖下java将多维数组视为数组数组。
概念certificate: http : //www.willamette.edu/~gorr/classes/cs231/lectures/chapter9/arrays2d.htm
这就是为什么它也可能在Java中使用不规则的数组!
小实验表明,255个维度是最大的。 256导致编译错误;
截图