以下の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
です。
ベストアンサー1
バージョン1の方が短く、コンパイラは実際にはそれをバージョン2に変換します- パフォーマンスの違いはまったくありません。
さらに重要なのは、プロパティが 3 つしかないことを考えると違いはないかもしれませんが、どの時点で concat から builder に切り替えるかということです。
ループ内で連結している時点では、通常、コンパイラはそれStringBuilder
自体で置換できません。