StringBuilder は、ユーザーが実行時に文字列を変更できる文字列を作成するために使用されます。
StringBuffer は、一連の文字を意味する「string」と、情報を格納するコンテナである「buffer」という言葉に由来します。 StringBuffer は、Java 仮想マシン (JVM) をサポートできます。
主要な取り組み
- StringBuilder と StringBuffer はどちらも、文字列の操作に使用される Java のクラスです。
- StringBuilder は高速ですが、スレッドセーフではないため、シングルスレッド アプリケーションに適しています。
- StringBuffer は同期機能のために低速ですが、スレッドセーフであるため、マルチスレッド アプリケーションに最適です。
StringBuilder と StringBuffer の比較
StringBuffer は、複数のスレッドが安全にアクセスできること、および複数のスレッドがデータの不整合を引き起こすことなく変更できることを保証します。 StringBuilder はそうではありません 糸-safe であるため、マルチスレッド環境には適していません。高速であるため、StringBuilder が推奨されるオプションです。
StringBuilder は、文字列をより簡単に作成できるように設計された便利なクラスです。 メッセージ、エラー メッセージ、デバッグ情報の作成などに使用されます。
クラスは以下を実装します。 ネット フレームワーク Concatenate インターフェイスで、XNUMX つのコンストラクターがあります。XNUMX つは文字列配列を引数として取り、もう XNUMX つはオブジェクト型の引数を取ります。
StringBuffer は、バッファーの途中での文字の追加と削除をサポートする文字列の型です。 これは、いくつかの追加機能を備えた美化された文字の配列です。
プログラマーは、文字列にメモリを割り当てる必要はありません。 不安 ある時点で文字列を書き出すことについて。
比較表
比較のパラメータ | 文字列ビルダー | 文字列バッファ |
---|---|---|
スレッドセーフ | いいえ | 有り |
同期しています | いいえ | 有り |
モデル | ジャワ1.5 | ジャワ1.0 |
ワーキング | 尊大 | 遅く |
性能 | ハイ | ロー |
スレッド | 待たない | 待つ |
StringBuilder とは何ですか?
StringBuilder は、開発者が文字列 (一連の文字) を効率的に作成できるようにする構造です。
C# の StringBuilder クラスのような構造と同様に、 JavaScriptを 配列。 join () メソッド、または Java StringJoiner クラスは、主にメモリを削減するために使用されます。 配分 ガベージ コレクションのオーバーヘッド。
StringBuilder は、プリミティブ String データ型のほとんどの使用を置き換えることができます。 StringBuilder の主な使用例は、複数の小さな文字列から長い文字列を作成する場合です。 これにより、多くの小さな文字列が作成されるのを回避できます。
ただし、すべて既知の文字列を連結するために StringBuilder を使用します。 StringBuilder はスレッドセーフではありません。
このクラスの有用性を考えると、結果の文字列の形式を制御できる独自のプロパティやメソッドがないことは驚くべきことです。
StringBuilder は、文字列を簡単に作成できる単純なクラスです。 それは雪だるまのようですが、 能力 任意の場所にテキスト フラグメントを追加します。
StringBuilder を使用して、文字列連結操作のパフォーマンスを向上させることができます。 StringBuilder クラスは不変ではありません。つまり、このオブジェクトは Append()、Insert()、Replace() などの下位レベルのメソッドで変更できます。
StringBuffer とは何ですか?
StringBuffer は、そのバッファーから文字を変更、追加、および削除できます。 文字列バッファーは、文字列をファイルにコピーしたり、大文字に変換したりするなどのタスクに役立ちます。
これらを使用すると、動的メモリ割り当てを置き換え、コードのパフォーマンスを向上させることができます。 StringBuffer は、一連の文字を格納するために使用されるデータ構造です。
StringBuffer は、一連の文字を意味する「string」と、情報を格納するコンテナである「buffer」という言葉に由来します。 StringBuffer は、Java 仮想マシン (JVM) がサポートできる数だけ保持できます。
StringBuffer は、 コンストラクタ、新しい StringBuffer(length)。 長さは、オブジェクトを構築する前に指定する必要がある、バッファーに格納されている要素の数を指します。
StringBuilder は Java 1.5 のものですが、StringBuffer は Java 1.0 のものです。
このクラスの有用性を考えると、結果の文字列の形式を制御できる独自のプロパティやメソッドがないことは驚くべきことです。 StringBuffer の動作は少し遅くなります。
StringBuilder と StringBuffer の主な違い
- StringBuilder はスレッド セーフではありませんが、StringBuffer はスレッド セーフです。
- StringBuilder は同期されませんが、StringBuffer は同期されます。
- StringBuilder は Java 1.5 のものですが、StringBuffer は Java 1.0 のものです。
- StringBuilder は StringBuffer よりも高速です。
- StringBuilder ではパフォーマンスが高いが、StringBuffer ではパフォーマンスが低い。
- スレッドはしません wait StringBuilder で待機しますが、StringBuffer で待機します。
最終更新日 : 11 年 2023 月 XNUMX 日
Sandeep Bhandari は、Thapar University (2006) でコンピューター工学の学士号を取得しています。 彼はテクノロジー分野で 20 年の経験があります。 彼は、データベース システム、コンピュータ ネットワーク、プログラミングなど、さまざまな技術分野に強い関心を持っています。 彼の詳細については、彼のウェブサイトで読むことができます バイオページ.
これは素晴らしいことですが、StringBuffer の実際の応用についてもう少し知りたいと思います。
よく読んだのですが、満足のいく読書ではありませんでした。
StringBuilder と StringBuffer について非常に詳しく説明されており、非常に有益です。
クラスの歴史に関する興味深い概要があり、とてもありがたかったです。
この説明は基本的すぎるため、StringBuffer と StringBuilder の使用法を理解するのに役立ちませんでした。
StringBuilder を使用することの明らかな利点がわかります。これは間違いなく私の好みのオプションです。