Java数组初始化列表以逗号结尾

时间:2010-10-03 14:49:01

标签: java c syntax

数组初始化列表中使用的逗号,项分隔符可以在C中结束列表,这在Kernighan& Sons的第二版 C编程语言中提到。里奇

e.g。

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

当列表很长时,这很方便,并且在添加项目时不希望更改/检查上一行

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

然而在Java中我可以观察到两种不同的行为:
在Eclipse中,结束,被接受,而某些版本的maven编译器插件会抱怨并抛出编译错误。

但是,我没有在 Flanagan的Java 一书中找到任何关于这种奇点的提及。

关于初始化项目后结束逗号的官方规则是什么? 是否建议使用它?

3 个答案:

答案 0 :(得分:14)

规范的第10.6节明确指出允许(并忽略)尾随逗号:

  

尾随逗号可能出现在数组初始值设定项中的最后一个表达式之后,将被忽略。

Link

答案 1 :(得分:4)

来自Java Language Specificationsection 10.6

  

尾随逗号可能出现在数组初始值设定项中的最后一个表达式之后,将被忽略。

答案 2 :(得分:2)

Sun javac在解析注释中的尾随逗号时有一个错误。

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