代码之家  ›  专栏  ›  技术社区  ›  Déjà vu

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

  •  6
  • Déjà vu  · 技术社区  · 15 年前

    逗号 , 数组初始化列表中使用的项分隔符可能以C结尾,这在 C编程语言,第二版,作者:Kernighan&Ritchie .

    例如

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

    当列表很长时,这很方便,添加项目时不需要更改/检查前一行

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

    然而,在Java中,我可以观察到两种不同的行为:
    在日食中,结局 , 当Maven编译器插件的某些版本抱怨并引发编译错误时,被接受。

    但是,我没有发现在 弗拉纳根爪哇 书。

    初始化项目后结束逗号的官方规则是什么?
    是推荐的吗 使用它?

    3 回复  |  直到 15 年前
        1
  •  14
  •   Pointy    15 年前

    规范的第10.6节明确表示允许使用尾随逗号(并忽略):

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

    Link

        2
  •  4
  •   Richard Fearn    15 年前

    Java Language Specification , section 10.6 :

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

        3
  •  2
  •   dbg    15 年前

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

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