[API] java.lang.StringBufferクラス

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

StringBufferの特徴

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

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

StringBufferの継承・実装

継承クラス

java.lang.Object
 ・java.lang.StringBuffer

実装インターフェース

java.io.Serializable
・java.lang.Appendable
・java.lang.CharSequence

導入バージョン

・JDK1.0

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をコピーしました