Stringオブジェクト
宣言と初期化
1文字列str = "ABC" 。 2文字列str = 新しい文字列( "ABC" )。 3 のchar [] = { 'A'、 'B'、 'C' }。 4文字列str = 新しい文字列(A)。 5文字列str = 新しい文字列(0,1)。
文字列連結:「+」記号、他のデータタイプは自動的にtoStringメソッドを呼び出すには、接続文字列に変換しました
文字列の長さを取得します。
str.length();
文字列検索
1ストリングS =「追加」; 2 s.indexOf(「D」); // 文字列の最初の出現の指定されたインデックスは、0戻り、空の文字列パラメータを返す 3。 s.lastIndexOf(「D」)// 指定文字列の最後に出現する位置のインデックス2を返し、文字列の長さパラメータは、空の文字列を返します
文字の指定したインデックスを取得します。
s.charAt(1); // Dを返します
部分文字列を取得します
。1 s.substring(1); // 戻りddと、の最後に、デフォルトの文字列を取る 2 s.substring(0 ,. 3); //は、[追加]を返します 3。 s.substring(0、2); // 戻り、広告、注意がありますインデックスの終わりを取ります
ホワイトスペース
s.trim(); //は、宇宙全体にPSを終了するには、文字列の末尾を削除します。実際には、それだけではないスペースは今、特に除去することができ、
文字列置換
1 s.replaceは( "A"、 "A")し; // 追加戻り 2 s.replaceしない( "AD"、 "AD"); // 戻り値ADD 3。 s.replaceAll( "D"、 "HH")。//はえーえ戻り、すなわちすべてのサブストリングを置き換える 4。 s.replaceFirst( "D"、 "HH"); //はahhdを返す、すなわち、最初のサブストリングを置換します
文字列の開始と終了は、文字列を指定されているかどうかを決定します
1 s.startswith( "AD"); // trueに戻り 2 s.startswith( "D"); // falseに戻る 3。 s.startswith( "AD"、0); //は、指定されたインデックスか否かを判定し、真を返します指定された文字列で始まる 4。 s.endsWith( "D"); //はtrueを返します
== ---文字列が等しいかどうかを決定することは、同じアドレス文字列かどうかを決定します
1 s.equals( "ADD"); // trueに、2つの空の文字列比較は、trueに返す場合 2 s.equals( "ADD"); // 大文字と小文字を区別 3 s.equalsIgnoreCaseを( "ADD")。// trueに、ケースを無視
辞書的に文字のUnicode値に基づいて---文字列を比較します
1 s.compareTo( "DAD"); // -3 2 s.compareTo( "追加"); // 0 3 s.compareTo( "追加"); // 32 4 s.compareTo( "AD")。// 1
---デジタルと非ケース変換文字は影響を与えません。
1 s.toUpperCase(); // ADD 2 s.toLowerCase(); //は小文字に変換
文字列の分割
1ストリングS = "adadads" 。 2列[] = s.split( "D")。// AAAS 3のString [] = s.split( "D"、2)。// adads
フォーマット文字列---フォーマット(形式、引数);
例:
= String.Formatのフォーマットされた文字列(" この歳%S%dの年。"、" マイク"、30); // 。 "今年30歳の李"
- この方法は、第1のパラメータ文字列形式であり、後者のパラメータは、パラメータ文字列形式、プレースホルダを交換するためのフォーマット文字列です。
- プレースホルダは、異なる文字を使用するためのパラメータの異なるタイプのフォームは「%X」で表しました。
String.format()
戻り値は文字列型で、結果がフォーマットされます。
日付と時刻のフォーマット---リファレンス
https://segmentfault.com/a/1190000013654676
文字列ビルダ---システムのオーバーヘッドの問題を増やし、新しいStringオブジェクトを生成するために「+」を解決するため、発電機は、可変長の文字列を生成することができ、追加の文字列が頻繁に推奨されています
1 StringBuilderのSTR = 新しい新規のStringBuilder(" A " ); 2 str.append(" C "); // 文字列の追加コンテンツ、ac--戻りパラメータは、任意のタイプとすることができる 3。 str.insert(0、真の); // trueacを返し、位置を指定された文字を追加 4。 str.delete(0、2); // 文字列指定された領域を削除し、ueac返す 5。 str.deleteCharAtは、(2); //は、指定された場所の文字列を削除します。リターンtreac
StringBuilderとStringBufferの主な違いは:StringBufferのは、スレッドセーフである一方、セキュリティスレッド上で、StringBuilderのは、スレッドセーフではありません
実行する操作がマルチスレッドであれば、我々はStringBufferのを使用する必要がありますが、シングルスレッドの場合には、速いのStringBuilderを使用することをお勧めします。
文字列:文字列の操作の少量を適用します
StringBuilder:文字バッファ内の単一のスレッドの下で動作し、多数の状況に適用されます
文字バッファの下で動作するマルチスレッドに適した症例の大多数:たStringBuffer