您的位置:首页 > 产品设计 > UI/UE

StringBuilder vs String concatenation in toString() in Java

2011-03-05 11:20 639 查看
http://stackoverflow.com/questions/1532461/stringbuilder-vs-string-concatenation-in-tostring-in-java

Question

===========================================================

Given the 2
toString()
implementations below, which is prefered

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 do you switch from concat to builder?

Answer:
===========================================================

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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: