java.lang.String
that are
repeatedly appended to. Such variables could be declared more efficiently as java.lang.StringBuffer
or java.lang.StringBuilder
.
Example:
String s = "";
for (int i = 0; i < names.length; i++) {
String name = names[i] + (i == names.length - 1 ? "" : " ");
s = s + name;
}
Such a loop can be replaced with:
StringBuilder s = new StringBuilder();
for (int i = 0; i < names.length; i++) {
String name = names[i] + (i == names.length - 1 ? "" : " ");
s.append(name);
}
Or even with:
String s = String.join(" ", names);
Use the option to make this inspection only report when the variable is appended to in a loop.