<html>
<body>
Reports any String concatenation (<b>+</b>). Concatenation is usually
incorrect in an internationalized environment, and should be replaced by uses of
<b>java.text.MessageFormat</b> or similar classes.
<!-- tooltip end -->
<p>
Use the first checkbox below to have this inspection ignore string concatenations
which are used as a description argument in an <b>assert</b> statement.
<p>
Use the second checkbox to ignore string concatenations used as arguments
for a call to any of the <b>System.out.print()</b> methods.
<p>
Use the third checkbox to ignore string concatenations used as arguments
for a call to any of the <b>System.err.print()</b> methods.
<p>
Use the fourth checkbox to ignore string concatenations used as arguments in
the construction of any subclass of <b>java.lang.Throwable</b>
<p>
Use the fifth checkbox to ignore string concatenations in the initializers
of constant fields.
<p>
Use the sixth checkbox to ignore string concatenations inside <b>toString()</b> methods.
<p>

</body>
</html>