Инициализация массива с использованием { } в Java

Мы можем инициализировать такой массив:

int myArray[][] = { {10,20},{30,40}, {50} };

Это работает нормально.

Но столкнулся со своеобразной ситуацией.

int myAnotherArray[][] = { {,},{,}, {,} };

Приведенная выше строка кода прекрасно компилируется . Это по-моему странно. Потому что, когда компилятор будет анализировать этот оператор, он встретит {, ,и }все вместе. Разве компилятор не должен ожидать константу или промежуточный литерал? Я был бы признателен, если бы кто-нибудь сказал мне, как именно анализируется приведенное выше выражение и что именно делает компилятор, когда он сталкивается с такой ситуацией.

15
задан Kazekage Gaara 13 July 2012 в 15:41
поделиться