[API] java.lang.StringBuffer

java.lang.StringBufferクラスは、スレッドセーフに可変文字列の操作を行うためのクラスです。

StringBufferの特徴

可変文字列を扱うクラスは他に java.lang.StringBuilderがあります。
違いを簡単にいうと StringBufferがスレッドセーフだが処理が遅い、
StringBuilderはスレッドセーフではないが処理が早いです。

使い分け方としては、可変文字列を扱う時は通常はStringBuilderを使用し、
マルチスレッド下で処理する必要がある時はStringBufferを使用します。

StringBufferのAPI

【主要メソッド】
戻値型メソッド静的説明
StringBufferappend(String s)末尾にsを追加する
(※引数はintやcharなどもOKです。)
StringBufferinsert(int x, String s)a番目にsを挿入する
(※引数はintやcharなどもOKです。)
StringBufferreplace(int a, int b, String s)a番目~b番目の文字をsに置き換える
voidsetCharAt(int a, char s)a番目の文字をsに置き換える
StringBufferdelete(int a, int b)a番目~b番目の文字を削除する
StringBufferdeleteCharAt(int a)a番目の文字を削除する
charcharAt(int a)a番目の文字をchar型で取得する
intindexOf(String s)sが一番最初に出現するインデックス番号を返す
(存在しない場合は -1 が返る)
intindexOf(String s, int a)sがa番目以降で一番最初に出現するインデックス番号を返す
(存在しない場合は -1 が返る)
intlastIndexOf(String s)sが最後に出現するインデックス番号を返す
(存在しない場合は -1 が返る)
intlastIndexOf(String s, int a)sがa番目より手前で一番最初に出現するインデックス番号を返す
(存在しない場合は -1 が返る)
intlength()文字列の長さ(文字数)を返す
StringBufferreverse()文字列の並びを逆にする
Stringsubstring(int a)a番目以降をString型で返す
Stringsubstring(int a, int b)a番目~b番目をString型で返す
voidtoString()String型で返す

StringBufferサンプル

(StringBufferSample.java)

public class StringBufferSample {
  public static void main(String args[]) {

    //StringBufferの生成とデータアペンド
    StringBuffer sb = new StringBuffer();
    sb.append("ABC");
    sb.append("DEF");

    //画面出力
    System.out.println(sb.toString());
 }
}
(実行結果)
C:\>java StringBufferSample ABCDEF

コメント

タイトルとURLをコピーしました