Class StringLiteralsConcatenationCheck

  • All Implemented Interfaces:,

    public final class StringLiteralsConcatenationCheck
    Checks for not using concatenation of string literals in any form.

    The following constructs are prohibited:

     String a = "done in " + time + " seconds";
     System.out.println("File not found: " + file);
     x += "done";

    You should avoid string concatenation at all cost. Why? There are two reasons: readability of the code and translateability. First of all it's difficult to understand how the text will look after concatenation, especially if the text is long and there are more than a few + operators. Second, you won't be able to translate your text to other languages later, if you don't have solid string literals.

    There are two alternatives to concatenation: StringBuilder and String.format(String,Object[]).

    • Nested Class Summary

      • Nested classes/interfaces inherited from class
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int[] getAcceptableTokens()  
      int[] getDefaultTokens()  
      int[] getRequiredTokens()  
      void visitToken​( ast)  
      • Methods inherited from class

        beginTree, clearViolations, destroy, finishTree, getFileContents, getFilePath, getLine, getLineCodePoints, getLines, getTabWidth, getTokenNames, getViolations, init, isCommentNodesRequired, leaveToken, log, log, log, setFileContents, setTabWidth, setTokens
      • Methods inherited from class

        finishLocalSetup, getCustomMessages, getId, getMessageBundle, getSeverity, getSeverityLevel, setId, setSeverity
      • Methods inherited from class

        configure, contextualize, getConfiguration, setupChild
    • Constructor Detail

      • StringLiteralsConcatenationCheck

        public StringLiteralsConcatenationCheck()
    • Method Detail

      • getDefaultTokens

        public int[] getDefaultTokens()
        Specified by:
        getDefaultTokens in class
      • getAcceptableTokens

        public int[] getAcceptableTokens()
        Specified by:
        getAcceptableTokens in class
      • getRequiredTokens

        public int[] getRequiredTokens()
        Specified by:
        getRequiredTokens in class
      • visitToken

        public void visitToken​( ast)
        visitToken in class