principlejavaCritical
StringBuilder vs String concatenation in toString() in Java
Viewed 0 times
javastringbuilderconcatenationtostringstring
Problem
Given the 2
or
?
More importantly, given we have only 3 properties it might not make a difference, but at what point would you switch from
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?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
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.Context
Stack Overflow Q#1532461, score: 1138
Revisions (0)
No revisions yet.