Java数组中的最大维数

时间:2010-10-30 20:28:51

标签: java multidimensional-array

出于好奇,你可以在Java中拥有多少维数?

3 个答案:

答案 0 :(得分:38)

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或更少维度时才有效。”)

答案 1 :(得分:-1)

严格说来

 Maximum number of dimensions in a Java array

只能在java中使用一维数组。因为在引擎盖下java将多维数组视为数组数组。

概念证明:http://www.willamette.edu/~gorr/classes/cs231/lectures/chapter9/arrays2d.htm

这就是为什么它也可能在Java中使用不完整的数组!

答案 2 :(得分:-1)

小实验表明,255个维度是最大的。 256导致编译错误;

The screenshot