OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:617
区分:プログラム  |  分類:Java  |  最終更新日:2014/11/05
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【Java】StringBufferとStringBuilderの違い
関連タグ:Java, StringBuffer, StringBuilder, JDK1.0, JDK1.5
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 11,522
Java関連技術まとめ > 【Java】StringBufferとStringBuilderの違い

StringBuffer クラスと StringBuilder クラスは共に可変長文字列を扱うための文字列クラスです。

JDK1.0 の頃からあるのが StringBuffer で、JDK1.5 で導入されたのが StringBuilder です。機能はどちらも一緒で、StringBuilder は StringBuffer に対して互換性があります。大きな違いとしては、StringBuffer がスレッドセーフなクラスに対して StringBuilder は同期化を保証していません。スレッドを意識しない分、StringBuilder のほうが高速に処理を行う事ができます。StringBuilder が StringBuffer と同じ機能を持ちながら、新たに追加された理由もそこにあります。過去において、StringBuffer を使用する上で、スレッドを気にするようなケースが殆ど無かったため、高速に処理が出来る StringBuilder が誕生しました。

現在 API では 単一のスレッド(一般的なケース)においては、StringBuffer よりも StringBuilder を使用することを推奨しています。

 

クラス導入説明
StringBuffer JDK1.0 可変文字列を扱うためのクラス。スレッドセーフ。
StringBuilder JDK1.5

可変文字列を扱うためのクラス。同期化は保証されませんが、その分高速に処理できます。

APIリファレンスでは単一スレッドの場合はこちらを使用することが推奨されています。

関連記事
関連記事はありません。
外部リンク
- 記事検索 -