Из любопытства, сколько измерений массива вы можете иметь в Java?
Максимальное количество измерений в массиве Java
Ответ 1
Язык 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 или меньше измерений." )
Ответ 2
Строго говоря о
Maximum number of dimensions in a Java array
возможен только один размерный массив в java. потому что под капотом java обрабатывает многомерные массивы как массив массивов.
Доказательство концепции: http://www.willamette.edu/~gorr/classes/cs231/lectures/chapter9/arrays2d.htm
почему его возможно также иметь оборванные массивы на Java!
Ответ 3
Небольшой эксперимент показывает, что 255 измерений являются максимальными. 256 вызывает ошибку компиляции;