「駑馬十駕」 IT系情報を中心に調べた事をコツコツ綴っています。

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

StringBufferの特徴

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

StringBuilderの特徴

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

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

Ads by Google

コメントを残す

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