Reports String concatenation in loops. As every String concatenation copies the whole String, usually it is preferable to replace it with explicit calls to StringBuilder.append() or StringBuffer.append().

Sometimes quick-fix actions are available which allow you to convert String variable to StringBuilder or introduce a new StringBuilder. Be careful if the original code handles null value specially: the replacement might not be semantically correct after that. If null value is possible, null-safe fixes are suggested which generate necessary null-checks. Also it's not guaranteed that the automatic replacement will always be more performant.