Maximum number of dimensions in a Java array

前端 未结 3 2090
借酒劲吻你
借酒劲吻你 2020-12-01 16:00

Out of curiosity, how many dimensions of an array can you have in Java?

3条回答
  •  北荒
    北荒 (楼主)
    2020-12-01 16:40

    The Java language does not limit the number of dimensions, but the Java VM spec limits the number of dimensions to 255.

    For example, the following code will fail to compile:

    class Main {
        public static void main(String[] args) {
            final int[][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][]
                     [][][][][][][][][][][][][][][][] x;
        }
    }
    

    with error:

    1.java:18: error: array type has too many dimensions
                     [][][][][][][][][][][][][][][][] x;
                                                      ^
    1 error
    

    (Ref: https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.4.1 "An array type descriptor is valid only if it represents 255 or fewer dimensions.")

提交回复
热议问题