Possible Duplicate:
StringBuilder vs String concatenation in toString() in Java
I am wondering, since the compiler internally uses a StringBuilder to append Strings when performing String concatenation, then what’s the point and why should I bother using StringBuilder if String concatenation already did the job for you? Are there any other specific reasons?
As you mention, you should not use
StringBuilderinstead of a simple string concatenation expression such asa + " = " + b. The latter is faster to type, easier to read, and the compiler will use aStringBuilderinternally anyway so there is no performance advantage by rewriting it.However
StringBuilderis useful if you are concatenating a large number of strings in a loop. The following code is inefficient. It requires O(n2) time to run and creates many temporary strings.Try this instead:
The compiler optimises only simple
a + b + cexpressions. It cannot optimize the above code automatically.