StringBufferとStringBuilderの違い

Anonim

StringBufferとStringBuilder

Javaは非常に一般的なオブジェクト指向言語です。 Javaでは、Stringクラスは、変更できない(初期化された)一連の文字を保持するために提供されています。あるいは、Javaプログラミング言語は、2種類の可変文字列を提供します。つまり、プログラマが(初期化後の)特定のStringを変更する必要がある場合、Stringクラスの代わりにStringBufferクラスまたはStringBuilderクラスを使用する必要があります。 StringBufferはJDK 1で導入されました.0とStringBuilderクラスはJDK 1.5で導入されましたが、実際はStringBufferクラス(シングルスレッド環境用)の代わりとなりました。

StringBufferとは何ですか?

StringBufferクラスはJDK 1で導入されました。0 StringBufferクラスはjavaに属します。 langパッケージであり、汎用Javaから継承されています。ラング。オブジェクト。プログラマーは、それが最終クラスであるため、さらに拡張することはできません。 StringBufferクラスは、Serializable、Appendable、およびCharSequienceインタフェースを実装します。 StringBufferクラスのオブジェクトは、可変でスレッドセーフな一連の文字列を保持できます。つまり、Stringオブジェクトと非常によく似ていますが、文字列(長さと内容)はStringBufferオブジェクトの初期化後にいつでも変更できます。ただし、これはStringBufferクラスによって提供される特定のメソッドを使用して行う必要があります。 StringBufferクラスには2つの基本操作があります。それらはappend()とinsert()メソッドによって提供されます。これらのメソッドはオーバーロードされているため、integerやlongなどの任意の型のデータを受け入れることができます。どちらの方法も最初に入力を文字列に変換し、対応する文字列の文字を既存のStribbufferオブジェクトに追加(追加または挿入)します。 append()メソッドは変換された文字列を既存のStringBufferオブジェクトの末尾に追加します。insert()メソッドは入力文字を指定された挿入ポイントに追加します。

StringBuilderとは何ですか?

StringBuilderクラスはJDK 1で導入されました。5. StringBuilder APIはStringBuffer APIと非常によく似ています。実際、StringBuilderクラスは、(シングルスレッドアプリケーション用の)StringBufferクラスの代わりに実際に導入されました。 StringBuilderクラスはjavaに属します。 langパッケージであり、汎用Javaから継承されています。ラング。オブジェクト。それは最終的なクラスなので、プログラマはそれを拡張することはできません。 StringBuilderクラスは、Serializable、Appendable、およびCharSequienceインタフェースを実装します。 StringBuilderクラスのオブジェクトは、変更可能ですがスレッドセーフではない一連の文字列を保持できます。つまり、Stringオブジェクトと非常によく似ていますが、文字列はいつでも変更できます。しかし、StringBuilderクラスは同期を提供しないため、StringBufferクラスを使用するよりも高速であると主張されています。 StringBuilderクラスは、StringBufferクラスとまったく同じ機能を持つappend()およびinsert()メソッドを提供します。

StringBufferとStringBuilderの違いは何ですか?

StringBuilderクラスとStringBufferクラスは、Javaの文字の変更可能なシーケンスに使用できますが、キーの違いがあります。 StringBuilderクラスとは異なり、StringBuilderクラスはスレッドセーフではなく、同期も行いません。したがって、StringBuilderクラスは(通常の状況下で)はるかに高速であると主張されているため、シングルスレッドアプリケーションではStringBufferクラスの代わりにStringBuilderクラスを使用することをお勧めします。