Java数组初始化列表以逗号结尾
数组初始化列表中使用的逗号,
项分隔符可以在C中结束列表,这在Kernighan&Ritchie编写的第二版C编程语言中提到。
例如
int c[] = { 1, 2, 3, };
当列表很长时,这很方便,并且在添加项目时不希望更改/检查上一行
long long c[] = { 22342342344, 4324234234, 12312311111, };
但是在Java中我可以观察到两种不同的行为:
在Eclipse中,接受结束,
而某些版本的maven编译器插件会抱怨并抛出编译错误。
但是,我没有在Flanagan的Java书中找到任何关于这种奇点的提及。
关于初始化项后结束逗号的官方规则是什么?
建议不要使用它吗?
规范的第10.6节明确指出允许(并忽略)尾随逗号:
尾随逗号可能出现在数组初始值设定项中的最后一个表达式之后,将被忽略。
链接
从Java语言规范 , 第10.6节 :
尾随逗号可能出现在数组初始值设定项中的最后一个表达式之后,将被忽略。
Sun javac有一个错误,可以在注释中解析尾随逗号。