詳細のStringBuilder

それでも私たちはStringBuilderのいくつかの定義を学ぶ前に、同じ、最初のチェック、理解することは簡単であることが第一
ここに画像を挿入説明

最初は、StringBuilderのオブジェクトを作成することです

StringBuilder sbuilder =new StringBuilder();

接続文字列:のは、単純な比較をしてみましょう

StringBuilder

StringBuilder sbuilder=new StringBuilder();
sbuilder.append("abc");
sbuilder.append("def");
string str=sb.ToString();

ストリング

string s1=“abc”;
string s2=“def”;
string str=s1+s2;

あなたは同じ結果を得るが、StringBuilderのがより適切であろうしながら、我々はまだ非常に必要がStringBuiderを理解するために、複数の文字列を扱うときに文字列で効率が低くなります


あなたは私たちが知っている程度、文字列の接続を考えて、上記のも、とのような接続のStringBuilderを示していたStringBuffer、オハイオ州のように、右本当にあります。
StringBuilderのStringBuilderの追記(文字列str)/アペンド(上記に相当チャーC) 文字列連結方法

StringBuilder  a=new StringBuilder("abc");
a.append('a');
a.append("aaaa");
System.out.println(a);

結果:abcaaaaa


私は今スティング文字列にGET StringBuilderのバッファする必要があるので、その後、私たちは私たちを提供するために、メソッドを使用することができますのStringBuilder

toString():同じ構築物またはバッファの内容から文字列を返します

StringBuilder  a=new StringBuilder("abc");
a.append('a');
a.append("aaaa");
//我们的的结果是abcaaaaa
//我们现在给它进行一个缓冲
String as=a.toString();
System.out.println(a);

結果:abcaaaaa


私はあなたがポンボTucao見ていない場合、私は明らかにRouga Moは、あなたが犬に私と一緒に来るの売りだったかわからない、ここで私は私がビート言いたいです
ここに画像を挿入説明

StringBuilderのが私たちの提供するのでappendCodePoint(INT CP) 追加のコード・ポイントを、1つのまたは2つのコード単位に変換し、これを返します

我々は、すべてがcharとint型の間の関係を知っている、あなたは、インターネットカザフスタンを確認することができます知っていません

 StringBuilder s = new StringBuilder("aaaaaa");
 s.appendCodePoint(105);
 System.out.println(s);

検索結果表示:aaaaaai
ここでは、すべてのハローを作りますか?なぜ?(105)文字に対応するが、小文字の文字である私たちは、私は、StringBuilderの私の方法105 appendCodePoint・キャラクタ・セットが尾に追加して、aaaaaaiを返され、INTので、


だから、文字列aaabaaaaa、適切に思えない、Bのいずれかが存在し、それは、量を交換したい...、ああのようです

私たちは、メソッドsetCharAt(int型I、char型のC)を提供するのStringBuilderがあります : 私たちは、あなたがしたい文字に指定された位置の文字を置き換えるために、代替として、この方法をされて理解することができます
コードに:

 StringBuilder s = new StringBuilder("aaabaaaaa");
 s.setCharAt(3,'a');
 System.out.println(s);

検索結果表示:aaaaaaaaa
ここに画像を挿入説明


プロダクトマネージャーは:ディアオので、あなたは、B私にプラグバックを入れて
くれ。
ここに画像を挿入説明

心配しないで、ここに画像を挿入説明

もう一つの方法は、便利なのStringBuilderです:
INSERT(チャーC、int型オフセット)/ INSERT(int型の文字列STR、オフセット):挿入文字または文字列の指定した位置の前に、ヘクタール

コードの場合:

 StringBuilder s = new StringBuilder("aaabaaaaa");
 s.setCharAt(3,'a');
 s.insert(3,'b');
 System.out.println(s);

結果:aaabaaaaaa


マネージャー:文字列があり、aaabcaaa、BCは、それを削除し、そしてより多くの見苦しい
私:
ここに画像を挿入説明

ここで呼び出された削除(int型のstartIndex、int型endIndexの)最初の開始位置は、第二は、最初のパラメータの終わりであることに注意を第二引数の文字始まりカザフスタン含まれていませんが含まれています。

コードの場合:

 StringBuilder s = new StringBuilder("aaabcaaa");
 s.delete(3,5);
 System.out.println(s);

結果:AAAAAA


文字列、StringBuilderのコントラスト

  • 文字列自体は、すべての変更は、新しいオブジェクトを生成し、新しいオブジェクトに、元のオブジェクト参照、その都度新しいオブジェクトがシステムの性能に影響を与えるであろう、一度しか割り当てることができ、不変です。
  • StringBuilderのではなく、新しいオブジェクトを生成するので、その足跡はそう変更操作の多くを行う際に、ないことを、コンテンツおよび拡大を増加し、各操作は、自分の操作の対象となり、変更することができますシステムのパフォーマンスに影響を与える匿名オブジェクトの多くを生成します。StringBuilderの効率が比較的高いです。

オリジナルの記事、コメント欄のコメントを解決するために不十分なコーミング場所、仕事一緒に

公開された26元の記事 ウォン称賛13 ビュー20000 +

おすすめ

転載: blog.csdn.net/weixin_44519467/article/details/103961728