но не позволяет, если число больше Integer.MAX_VALUE ?
если числовой литерал больше Integer.MAX_VALUE, то это либо некорректный integer-литерал, либо long-литерал с приставкой L в конце. в первом случае ошибка компиляции будет из-за некоректного integer-литерала, во втором, потому что нельзя указывать long в качестве длины массива. -1 это корректный integer-литерал, поэтому все скомпилируется, проверка на отрицательный размер будет при создании массива.
Обсуждают сегодня