Java:StringBufferとStringBuilderの違い

Javaでは文字列同士の足し算(”A” + “B”など)という事はせずにStringBufferを使用するのが通常です。さらにStringBufferよりもStringBuilderの方がコストパフォーマンスが良いのでStringBuilderを使用しましょうというのもよく聞く話です。そうなるとStringBuilderだけでStringBufferって何のためにあるの?という疑問が出てきます。このStringBuilderとStringBufferの違いについてまとめておきます。

StringBufferの特徴

  • スレッドセーフである。
  • StringBuilderよりもコストパフォーマンスが悪い

StringBuilderの特徴

  • StringBufferよりもコストパフォーマンスが良い
  • ローカル変数で使用する場合のみスレッドセーフとなる

用途としてはローカル変数で使用する場合にはコストパフォーマンスが良くスレードセーフも保証されるので「StringBuilder」を使用し、インスタンス変数で使用する場合はスレッドセーフを確実に保証する為に「StringBuffer」を使用するべきです。

コメントを残す

メールアドレスが公開されることはありません。

email confirm*

post date*