我在今天正确编译的Java代码中注意到了这一点:
int[] content = {1,2,3,4,5,6,7,8,9,10, 11, 12, 13, 14, 15,};在15之后,末尾有一个额外的逗号--所以我很好奇这是否是Java的意图。为什么编译器在这里不引发错误?
发布于 2015-11-16 19:19:42
根据Java语言规范,10.6节:数组初始化器
尾随逗号可能出现在数组初始化器中的最后一个表达式之后,并被忽略。
推测:这可以通过注释掉任何行,甚至最后一行,轻松地删除多行初始化器中的项。
String[] NAMES = new String[] {
"Shaggy",
"Scooby",
"Fred",
"Velma",
"Daphne",
// "Scrappy Doo"
}发布于 2015-11-16 19:19:42
根据语言规范的这一部分,它被忽略了。
数组初始化器是用逗号分隔的表达式列表编写的,用大括号{和}括起来. 后缀逗号可能出现在数组初始化器中的最后一个表达式之后,并被忽略。。
https://stackoverflow.com/questions/33742890
复制相似问题