StringBuilder vs String concatenation in toString() in Java
concatenation, java, performance, string, stringbuilder
Solution
Version 1 is preferable because it is shorter and the compiler will in fact turn it into version 2 - no performance difference whatsoever.
More importantly given we have only 3 properties it might not make a difference, but at what point do you switch from concat to builder?
At the point where you're concatenating in a loop - that's usually when the compiler can't substitute `StringBuilder` by itself.
Problem
Given the 2 `toString()` implementations below, which one is preferred: ``` public String toString(){ return "{a:"+ a + ", b:" + b + ", c: " + c +"}"; } ``` or ``` public String toString(){ StringBuilder sb = new StringBuilder(100); return sb.append("{a:").append(a) .append(", b:").append(b) .append(", c:").append(c) .append("}") .toString(); } ``` ? More importantly, given we have only 3 properties it might not make a difference, but at what point would you switch from `+` concat to `StringBuilder`?