Список инициализации массива Java, заканчивающийся запятой - PullRequest
6 голосов
/ 03 октября 2010

Разделитель запятых , элементов, используемый в списке инициализации массива, может заканчивать список в C, это упоминается в Язык программирования C, 2-е издание, Kernighan & Ritchie .

, например

  int c[] = { 1, 2, 3, };

Это удобно, когда список длинный, и вам не нужно менять / проверять предыдущую строку при добавлении элементов

  long long c[] = { 
                    22342342344,
                     4324234234,
                    12312311111,
                   };

Однако в Java я мог наблюдать два разных поведения:
В Eclipse конец , принимается, в то время как некоторые версии плагина компилятора maven жалуются и выдают ошибку компиляции.

Однако я не нашел упоминания об этой особенности в книге Фланагана о Яве .

Какое официальное правило касается конечной запятой после элементов инициализации?
Рекомендуется ли не использовать его?

Ответы [ 3 ]

14 голосов
/ 03 октября 2010

Раздел 10.6 спецификации явно говорит, что конечная запятая разрешена (и игнорируется):

Завершающая запятая может появляться после последнего выражения в инициализаторе массива и игнорируется.

Ссылка

4 голосов
/ 03 октября 2010

Из спецификации языка Java , раздел 10.6 :

Завершающая запятая может появляться после последнего выражения в инициализаторе массива и игнорируется.

2 голосов
/ 10 ноября 2010

В Sun javac есть ошибка при разборе запятых в аннотациях.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=284088

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