4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Android Studio】文字列を追加したいときはStringよりもStringBuilderのがいいよって話【Kotlin】

Last updated at Posted at 2020-10-29

StringBuilderクラスは可変長の文字列を扱うクラスです。
append()メソッドを使って文字列を連結させていく時に使います。
String()クラスに+=していけば良くない?って感じですが、String()は一度生成すると値を変更することができません。
つまり下記のコードではstrに"abc"と"def"を足しているように見えますが、メモリ上の処理は新たにstrインスタンスを生成して"abcdef"を作成していることになります。

fun main() {
    var str = "abc"
    println(str)
    str += "def"
    println(str)
}

こちらの記事に分かり易く説明されています。
参考:Stringと StringBuilder

よって、StringBuilder()を使った以下のようなコードの方が処理速度が早くなります。

fun main() {
    var sb = StringBuilder()
    sb.append("abc")
    println(sb)
    sb.append("def")
    println(sb)
}

こちらの記事に処理速度の違いがまとめられていました。
参考:【String型 vs StringBuilder】文字列結合における処理速度の違い

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?