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
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
StringBuffer | append(String s) | 末尾にsを追加する (※引数はintやcharなどもOKです。) | |
StringBuffer | insert(int x, String s) | a番目にsを挿入する (※引数はintやcharなどもOKです。) | |
StringBuffer | replace(int a, int b, String s) | a番目~b番目の文字をsに置き換える | |
void | setCharAt(int a, char s) | a番目の文字をsに置き換える | |
StringBuffer | delete(int a, int b) | a番目~b番目の文字を削除する | |
StringBuffer | deleteCharAt(int a) | a番目の文字を削除する | |
char | charAt(int a) | a番目の文字をchar型で取得する | |
int | indexOf(String s) | sが一番最初に出現するインデックス番号を返す (存在しない場合は -1 が返る) | |
int | indexOf(String s, int a) | sがa番目以降で一番最初に出現するインデックス番号を返す (存在しない場合は -1 が返る) | |
int | lastIndexOf(String s) | sが最後に出現するインデックス番号を返す (存在しない場合は -1 が返る) | |
int | lastIndexOf(String s, int a) | sがa番目より手前で一番最初に出現するインデックス番号を返す (存在しない場合は -1 が返る) | |
int | length() | 文字列の長さ(文字数)を返す | |
StringBuffer | reverse() | 文字列の並びを逆にする | |
String | substring(int a) | a番目以降をString型で返す | |
String | substring(int a, int b) | a番目~b番目をString型で返す | |
void | toString() | 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
コメント