鉴于下面的 2 toString()
实现,哪一个是首选:
public String toString(){
return "{a:"+ a + ", b:" + b + ", c: " + c +"}";
}
或者
public String toString(){
StringBuilder sb = new StringBuilder(100);
return sb.append("{a:").append(a)
.append(", b:").append(b)
.append(", c:").append(c)
.append("}")
.toString();
}
?
更重要的是,鉴于我们只有 3 个属性,它可能没有什么不同,但在什么时候你会从 +
concat 切换到 StringBuilder
?
原文由 non sequitor 发布,翻译遵循 CC BY-SA 4.0 许可协议
版本 1 更可取,因为它更短, 而且编译器实际上会将其转换为版本 2—— 没有任何性能差异。
在循环中连接的地方——通常是编译器无法自行替换
StringBuilder
的时候。