文字列とStringBufferの違い、基本的な文字列メソッド

文字列とStringBufferの差

広くJava文字列にJavaプログラミングで使用される文字列オブジェクトに属する、Javaは文字列を作成し、操作するにはStringクラスを提供します。

新しい文字列が文字列操作だけでなく、意志非効率的でなく、限られたメモリ空間の無駄の多いオブジェクト毎に生成つながる、文字列の値が不変であることに留意すべきです。私たちは、あやとりの動作中に、このメモリの変化を見てみましょう。

私たちは「こんにちは」を文字列の初期値は、その後、後で新しい文字列「世界」との文字列で、プロセスは、スタック、ヒープメモリのメモリ空間を再オープンする必要があることを確認することができ、最終的に「Hello Worldを得ました「それはメモリ空間を開くために3回とり、ちょうど2つの文字列ように文字列は、また、メモリ空間を開放する対応する必要があり、これはメモリ空間の無駄であると言わざるを得ない。頻繁に文字列関連の操作に応じて、Googleはそのような変更の文字列を処理するために、2つの新しいクラス--StringBufferクラスとStringBuildクラスを導入しました。

 

 

場合は、文字列の変更、およびStringBufferのStringBuilderクラスを使用する必要があります。

そして、Stringクラスは異なり、StringBufferのStringBuilderクラスのオブジェクトは、何度も変更することができ、新たな未使用のオブジェクトを生成しません。

StringBuilderクラスは、Java 5の方法は、スレッドセーフ(アクセスを同期することはできません)ではないことを、それとのStringBuilder StringBufferの間の最大の違いを提示しています。

速度の利点と比べたStringBufferのStringBuilder以来、ほとんどの場合、StringBuilderクラスを使用することをお勧めしますので。ただし、アプリケーションの場合は、スレッドセーフ必要で、あなたはStringBufferクラスを使用する必要があります。

 

3の継承構造

 

 

 

 

 

 3種類の間:

 

概要:(1)データの量を文字列で動作させる場合には、(文字列str = NULL、他の二つではありません)

操作StringBufferのデータ(2)マルチスレッド動作文字列バッファの大量。

(3)シングルスレッドのデータ列バッファStringBuilderの大量の下での動作を操作します。

StringBufferをとStringBuilderのコンストラクタ関数を使用して文字列オブジェクトを作成する必要があります

 

おすすめ

転載: www.cnblogs.com/wulei6369/p/11721290.html