鉴于以下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?
+concat
StringBuilder
版本1是更可取的,因为它更短,并且编译器实际上会将其转换为版本2-无任何性能差异。
更重要的是,鉴于我们只有3个属性,这可能没有什么区别,但是您什么时候从concat切换到builder?
concat
builder
在您要串联的地方-通常是编译器无法自行替换时StringBuilder。