長い文字列を作成する。
短い文字列の場合。
val s = "Hello" + " World!!"
文字列をたくさん連結していく場合は、StringBuilderを使用する。
Good
val b = new StringBuilder
for(i <- 0 until 10) {
if(i > 0)
b.append(", ")
b.append(i)
}
val s = b.result // s = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9"
Bad
var s = ""
for(i <- 0 until 10) {
if(i > 0)
s += ", " // 文字列のコピーを作成
s += i // 文字列のコピーを作成
} // s = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9"
+=でStringに対して文字列を連結していくと、文字列のコピーが大量に発生してしまい性能が悪くなる。数個の文字列を連結するくらいなら+=
でも問題ないが、何十以上の文字列を連結するのには不向き。