Максимальное количество измерений в массиве Java - PullRequest
20 голосов
/ 31 октября 2010

Из любопытства, сколько измерений массива вы можете иметь в Java?

Ответы [ 3 ]

38 голосов
/ 31 октября 2010

Язык 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

(Ref: https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.4.1 "Дескриптор типа массива действителен, только если он представляет 255 или меньшеразмеры. ")

0 голосов
/ 07 декабря 2016

Небольшой эксперимент показывает, что 255 измерений - это максимум.256 вызывает ошибку компиляции;

Скриншот

0 голосов
/ 20 января 2015

Строго говоря,

 Maximum number of dimensions in a Java array

только один одномерный массив возможен в Java. потому что под капотом Java рассматривают многомерные массивы как массив массивов.

Подтверждение концепции: http://www.willamette.edu/~gorr/classes/cs231/lectures/chapter9/arrays2d.htm

, поэтому возможно иметь рваные массивы и в Java!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...