Javaの基本(a)の文字列、StringBufferの、StringBuilderの

免責事項:この記事はブロガーオリジナル記事です、ソースを明記してください。Javaのノートシェア(xiaosen_javashare)https://blog.csdn.net/qq_36447151/article/details/80392682:国民の関心番号へようこそ
 

 

あまりにも長いバージョンを見てはいけません

 

    文字列の連結速度:StringBuilderの>のStringBuffer>文字列

    StringBuilder StringBufferの非スレッドセーフスレッドセーフ

テキスト

、Stringクラス

    オブジェクトが破棄されるまで。1、Stringクラスは不変クラス、文字列を一度作成された、このオブジェクトに含まれる文字列は、不変です。

    

文字の配列を格納することにより、文字列の文字列クラス。

/** 用于字符存储. */
    private final char value[];
/**
     * Initializes a newly created {@code String} object so that it represents
     * an empty character sequence.  Note that use of this constructor is
     * unnecessary since Strings are immutable.
     */
    public String() {
        this.value = "".value;
    }

文字列は、それが動作するように、新しい文字列を返し、文字列の他の方法では、文字列は、新しい()新しいれる返さ。

2、文字列定数プール

また、文字列バッファと呼ばれる文字列プール(文字列プール)Javaランタイムを、維持します。記憶動作、およびセルの文字列が繰り返されていないとき、様々な文字列が生成されました。

3は、Stringオブジェクトは、原則として作成されます

 

    1)場合の任意の手段を使用する場合、Javaランタイムは、(実行中のJVM)コンテンツの文字列オブジェクトの同じプールが存在するかどうかを見て、そうでない場合、次いで、プール中のS、この文字列を保持する文字列オブジェクトSを作成します文字列sを作成し、それ以外の場合は、プールに追加されません。

    2)Javaは、限り、オブジェクトが新しいキーワードを使用して作成されるように、それは()ヒープ内の新しいオブジェクトを作成します。

    3)使用して直接指定するか、またはStringオブジェクトのみ保守点検文字列の文字列プールを作成するために、純粋な文字列連結を使用して、プールが作成されていない場合は、プール内に作成されませんが、決してではありませんスタック領域は、再びStringオブジェクトを作成します。

    4)変数を含む式を使用して文字列オブジェクトを作成し、文字列のプールの維持を確認するだけでなく、スタック領域内の文字列オブジェクトを作成するだけでなく。ヒープを指すメモリ内の最後のオブジェクト。

    @Test
    public void stringTest(){
        String s1 = "hello world";
        String s2 = "hello world";
        String s3 = new String("hello world");
        System.out.print(s1==s2);
        System.out.print(s1==s3);
        System.out.print(s2==s3);
    }

結果は偽、偽、真です。

二、StringBufferをとのStringBuilder

    継承AbstractStringBuilderクラス、実装および使用は同じです。唯一の違いは、StringBufferの方法は、キーワード、スレッドセーフを同期追加し、ですが、StringBuilderのは、StringBuilderの文字列の連結に高速にStringBufferよりも非スレッドセーフですが、

 

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

国民の関心番号へようこそ。

 

 

おすすめ

転載: blog.csdn.net/qq_36447151/article/details/80392682