Почему java поддерживает 255-мерный массив, а в реальной жизни мы редко превышаем 2D? - PullRequest
0 голосов
/ 24 февраля 2020

Просто любопытно, поскольку я прочитал здесь , что java может иметь массив 255D. какова цель этого? Нужен ли нам 255D в реальной жизни или для каких-то операций на уровне JVM? как работает под капотом?

1 Ответ

0 голосов
/ 25 февраля 2020

Oracle Java язык не имеет ограничений на количество измерений массива. Но спецификация виртуальных машин ограничивает число измерений 255.

Например,

public class MultiDimensionalArray {
    public static void main(String[] args) {
        int  [][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][]
                [][][][][][][][][][][][][][][][][][] i = null;

}

Запишите приведенный выше код в IDE, вы увидите ошибку компиляции ["Too many array размеры. Максимум 255 "], и вы также можете увидеть эту ошибку на скриншоте ниже. Потому что это 256 измерений. Чтобы устранить эту ошибку, просто удалите одно измерение из этого массива.

enter image description here

Для получения дополнительной информации проверьте ссылку ниже: (https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms -4.4. 1 )

...