可能重复:
Arrays with trailing commas inside an array initializer in Java
为什么以下语句在java中是正确的:
int[][] a = { {1,2,}, {3,4}};
是否因为不必要的逗号而导致编译错误?
答案 0 :(得分:5)
Trailing comma
是ignored by compiler
。通常会添加这些内容,以便稍后在向数组中添加内容时,只需添加元素而不必担心逗号。
很奇怪,但是被允许。
这也列在JLS - Section#10.6 (Array Initializers)
中: -
数组初始值设定项以逗号分隔的列表形式写入 用括号{和}括起来的表达式。
尾随逗号可能出现在数组中的最后一个表达式之后 初始化并被忽略。
答案 1 :(得分:4)
{1,2,}
最后一个逗号后面不必有元素。几种编程语言就是这种情况(JavaScript( by standards; IE并不总是符合),PHP,Java,Python,C#3.5等等,我敢肯定。
答案 2 :(得分:2)
这个问题最有可能是关于二维数组的第一个数组元素中的尾随逗号:{1,2,}
。根据{{3}}:
尾随逗号可能出现在数组初始值设定项中的最后一个表达式之后,将被忽略。
答案 3 :(得分:1)
没有。这是一个多维数组。对于标准数组,你有
int a[] = {1, 2, 3};
但这是多方面的。也许这会有所帮助:
int a[][] = {
{1, 2},
{3, 4}
}
所以现在a[0] = {1, 2}
和a[1] = {3, 4}
如果你指的是{1, 2,}
中的最后一个逗号,那在Java中就可以了。
答案 4 :(得分:0)
它是一个嵌套数组 - 为什么会出现编译错误?