Java文字列処理 - StringBufferクラス

2013/11/29 00:24更新
TAGS: Java | 文字列|StringBuffer

Javaでは、文字列を扱うには、StringやStringBuffer、StringBuilderクラスなどを用います。本文はStringBufferクラスの基本的な使い方について学びます。

StringBufferクラスの基本


とりあえず、サンプルから見てみます。
public class TestStringBuffer {
    public static void main(String []args) {
        StringBuffer sb = new StringBuffer("Hello World! こんにちは、");
        sb.append("Java!");
        System.out.println(sb.toString());
    }
}


c:\javac TestStringBuffer.java
c:\java TestStringBuffer
Hello World! こんにちは、Java!


StringBufferクラスは文字列の連結、挿入、削除など処理を行うために様々なAPIを提供しています。

StringBufferのAPI仕様について、次のページをご参照ください。
String (Java 2 プラットフォーム SE v1.4.0)
String (Java Platform SE 6)

Stringクラスで文字列の生成


例1:
StringBuffer sb = new StringBuffer();    //初期容量が 16 文字である文字列バッファを構築します。


例2:
StringBuffer sb = new StringBuffer("Hello World! こんにちは、");    //指定した文字列で文字列バッファを構築します


例3:
StringBuffer sb = new StringBuffer(100);    //初期容量を指定した文字列バッファを構築します


StringBufferクラスで文字列の操作
StringBufferクラスではさまざまな文字列操作用APIを提供しています。

文字列の連結


◇ append(..)メソッド
StringBufferクラスは、引数で示した値を文字列バッファに追加するには、appendメソッドを用います。
StringBuffer     append(boolean b)
StringBuffer     append(char c)
...
StringBuffer     append(int i)
StringBuffer     append(StringBuffer sb)
StringBuffer     append(String str)

例:
StringBuffer sb = new StringBuffer("Hello ");
sb.append("Java!");    //Hello Java!
sb.append(true);    //Hello Java!true
sb.append(100);        ////Hello Java!true100


文字列バッファの長さ


例:
StringBuffer sb = new StringBuffer("Hello World! こんにちは、");
System.out.println(sb.length());    //19


文字列の置換


◇StringBuffer     replace(int start, int end, String str)

指定された区間の文字列を、str の文字に置換します。

例:
StringBuffer sb = new StringBuffer("Hello World! こんにちは、");

sb.append("Java!");
sb.append(true);
sb.append(100);
sb.replace(0, 5, "xxxx");
        
System.out.println(sb.toString());    //xxxx World! こんにちは、Java!true100


文字列バッファに挿入


◇insert(...)
例:
StringBuffer sb = new StringBuffer("Hello World");
sb.insert(3, "XXXX");
System.out.println(sb.toString());    //HelXXXXlo World


文字列バッファに削除


◇StringBuffer     delete(int start, int end)
例:
StringBuffer sb = new StringBuffer("Hello World");
sb.delete(3, 5);
System.out.println(sb.toString());    //Hel World


◇StringBuffer     deleteCharAt(int index)
例:
StringBuffer sb = new StringBuffer("Hello World");
sb.deleteCharAt(7);
System.out.println(sb.toString());    //Hello Wrld


サブ文字列の取得


◇String     substring(int start)
◇String     substring(int start, int end)
◇CharSequence     subSequence(int start, int end)

例:
StringBuffer sb = new StringBuffer("Hello World");
String str = sb.substring(1, 7);
System.out.println(str);    //ello W


文字列(String)に変換


◇String     toString()
例:
StringBuffer sb = new StringBuffer("Hello World");
String str = sb.toString();    //Hello World

著者について
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


コメント

記事への評価

USER LOGIN FIRST
メールアドレス:
パスワード: