NoArrayTrailingComma

Since Checkstyle 8.28

Description

Checks that array initialization do not contain a trailing comma. Rationale: JLS allows trailing commas in arrays and enumerations, but does not allow them in other locations. To unify the coding style, the use of trailing commas should be prohibited.
int[] foo = new int[] {
  1,
  2
};
        

The check demands that there should not be any comma after the last element of an array.

String[] foo = new String[] {
  "FOO",
  "BAR", //violation
}
        

Examples

To configure the check:

<module name="Checker">
  <module name="TreeWalker">
    <module name="NoArrayTrailingComma"/>
  </module>
</module>
        

Which results in the following violations:

class Example1 {
  void InvalidExample() {
    String[] foo1 = {
      "FOO",
      "BAR", // violation, 'Array should not contain trailing comma'
    };
    // violation below, 'Array should not contain trailing comma'
    String[] foo2 = { "FOO", "BAR", };
    String[] foo3 = {
      "FOO",
      "BAR"
    };
    String[] foo4 = { "FOO", "BAR" };
  }
}
        

Example of Usage

Violation Messages

All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.

Package

com.puppycrawl.tools.checkstyle.checks.coding

Parent Module

TreeWalker