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

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

StringBufferの特徴

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

StringBuilderの特徴

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

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

Ads by Google

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">