Javaに関する様々な情報をご紹介します。

5StringBufferのメソッド

Javaに関する様々な情報をご紹介します。

StringBufferのメソッド

このページでは数多くあるStringBufferクラスのメソッドの内、そのいくつかを例題を使って説明します。

メソッド

戻り型 メソッド 説明
int length( ) オブジェクトの保有する文字数を返します。
int capacity( ) オブジェクトの保有する文字列バッファ数(メモリ割り当て領域)を返します。
char charAt(int) 指定されたインデックス番号の位置にある文字を返します。
String substring(int)
substring(int, int)
指定されたインデックス番号の位置から終端までの文字列を返します。第2引数が指定されている場合は、第1引数から第2引数までの文字列を返します。
StringBuffer append(boolean)
append(char)
append(char[ ])
append(char[ ], int, int)
append(double)
append(float)
append(int)
append(long)
append(Object)
append(String)
呼び出すStringBufferオブジェクトの末尾に引数で指定されたデータを追加します。データは文字列に変換されてから追加されます。char型配列の第2引数は配列のオフセットを第3引数はオフセットからの長さを表します。
StringBuffer delete(int, int) 呼び出すStringBufferオブジェクトの文字列を引数で指定された範囲で削除します。
StringBuffer insert(int, boolean)
insert(int, char)
insert(int, char[ ])
insert(int, char[ ], int, int)
insert(int, double)
insert(int, float)
insert(int, int)
insert(int, long)
insert(int, Object)
insert(int, String)
呼び出すStringBufferオブジェクトの文字列に第2引数で指定されたデータを挿入します。第1引数で挿入位置を指定します。指定されたインデックス番号の前にデータが挿入されます。先頭に文字を挿入したい場合は0を指定します。データは挿入される際文字列に変換されてから挿入されます。 char型配列の第3引数は配列のオフセットを第4引数はオフセットからの長さを表します。
StringBuffer replace(int, int, String) 呼び出すStringBufferオブジェクトの文字列を引数で指定された範囲で文字列に置き換えます。
void setLength(int) オブジェクトの文字列バッファ数(メモリ割り当て領域)を設定します。
StringBuffer reverse( ) 呼び出すStringBufferオブジェクトの文字列の順序を逆にします。

lengthメソッドとcapacityメソッドの違いはlengthが実際に文字が入力されている文字列数を返すのに比べてcapacityはメモリ割り当てが行われている文字列バッファ数を返す点にあります。

メモリの割当

【例1】lengthメソッドとcapacityメソッドが返すそれぞれの値を比較するプログラムです。

public class ExStringBuffer2 {
    public static void main(String[] args) {
        StringBuffer aaa = new StringBuffer("Road of Java");  //(1)
        System.out.println("lengthの領域は"
            + aaa.length() + "です。");  //(2)
        System.out.println("capacityの領域は"
            + aaa.capacity() + "です。");  //(3)
    }
}

解説1

  1. (1)StringBufferオブジェクトaaaの生成を行います。
  2. (2)printlnメソッドでaaaオブジェクトのlengthメソッド実行時の値を表示します。
  3. (3)printlnメソッドでaaaオブジェクトのcapacityメソッド実行時の値を表示します。

実行結果1

D:\JAVA>javac ExStringBuffer2.java

D:\JAVA>java ExStringBuffer2
lengthの実行結果は12です。
capacityの実行結果は28です。

D:\JAVA>

【例2】deleteメソッドとappendメソッドを使用し文字列「Road of Java」を「Javaの道」に変更するプログラムです。

public class ExStringBuffer3 {
    public static void main(String[] args) {
        StringBuffer aaa = new StringBuffer("Road of Java");  //(1)
        aaa.delete(0, 8);  //(2)
        aaa.append("の道");  //(3)
        System.out.println(aaa);  //(4)
    }
}

解説2

  1. (1)StringBufferオブジェクトaaaの生成を行います。
  2. (2)deleteメソッドでキーワード「Road of」の削除を行います。
  3. (3)appendメソッドでキーワード「の道」の追加を行います。
  4. (4)printlnメソッドで変更されたオブジェクトaaaの表示を行います。

実行結果2

D:\JAVA>javac ExStringBuffer3.java

D:\JAVA>java ExStringBuffer3
Javaの道

D:\JAVA>

5StringBufferのメソッド