StringBuilderオブジェクトの作成と基本的な使い方

StringBuilder クラスの主な利用方法は、複数の文字列や他の値を連結し、最後に文字列として出力することです。まず StringBuilder クラスのインスタンスを作成したあと、複数の文字列や他の値を追加したあとで最後に文字列を作成します。ここでは Java で StringBuilder オブジェクトの作成と基本的な使い方について解説します。

(Last modified: )

StringBuilderクラスのインスタンスを作成する

StringBuilder クラスのインスタンスを作成するには、 StringBuilder クラスのコンストラクタを使用します。書式は次のとおりです。

public StringBuilder()

-- --

このコンストラクタを使って StringBuilder クラスのインスタンスを作成すると、初期の領域として 16 文字分の領域を持ち、内容が空のインスタンスを作成します。

実際には次のように記述します。

StringBuilder sb = new StringBuilder();

※ StringBuilder クラスは java.lang パッケージに含まれるクラスのため import は必要なく使用できます。

既存の文字列を元に StringBuilder クラスのインスタンスを作成することもできます。次の StringBuilder クラスのコンストラクタを使用します。

public StringBuilder(String str)

パラメータ:
str - バッファの初期内容

1 番目の引数に指定した文字列を初期値として持つ StringBuilder クラスのインスタンスを作成します。初期の領域として引数に指定した文字列の長さに 16 文字分を加えたものになります。

実際には次のように記述します。

StringBuilder sb = new StringBuilder("Hello");

文字列である String オブジェクトは一度作成すると内容を変更することも長さを変更することもできません。 StringBuffer オブジェクトはデフォルトで 16 文字分を保管できる領域があり、文字をあとから領域に追加したり削除したりすることができます。もし 16 文字分で足りなくなった場合は自動的に領域が拡張されます。

文字列や他の値を追加する

StringBuilder オブジェクトを作成したら、文字列や他の値を StringBuilder オブジェクトに追加していきます。詳しい解説は次のページで行いますが、 append メソッドを使って StringBuilder オブジェクトへ値を追加していきます。

次のサンプルをみてください。

StringBuilder sb = new StringBuilder();
sb.append("watch's price is ");
sb.append(100);
sb.append(" yen.");

append メソッドは引数に指定する値のデータ型毎に用意されています。

StringBuilderオブジェクトを文字列(String)に変換する

StringBuilder オブジェクトに文字列や他の値の追加が終わったら、最後に StringBuilder オブジェクトを文字列に変換します。 StringBuffer クラスで用意されている toString メソッドを使用します。書式は次のとおりです。

String toString()

戻り値:
この文字列シーケンスだけで構成された文字列

メソッドを実行すると、現在 StringBuffer オブジェクトに格納されている値を String クラスの値へ変換します。

次のサンプルをみてください。

StringBuilder sb = new StringBuilder();
sb.append("watch's price is ");
sb.append(100);
sb.append(" yen.");

String msg = sb.toString();

なお単に StringBuilder オブジェクトの値を画面に出力したい場合には、 System.out.println の引数に直接 StringBuilder オブジェクトを指定しても大丈夫です。

StringBuilder sb = new StringBuilder();
sb.append("watch's price is ");
sb.append(100);
sb.append(" yen.");

System.out.prinltn(sb);

StringBuilder オブジェクトの基本的な使い方は以上となります。次のページ以降で文字列や値を追加する方法や指定の位置に挿入する方法、追加した値を削除する方法などについて解説します。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample3-1.java という名前で保存します。

class JSample3_1{
  public static void main(String[] args){
    StringBuilder sb = new StringBuilder();
    sb.append("watch's price is ");
    sb.append(100);
    sb.append(" yen.");

    System.out.println(sb.toString());
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample3_1.java

その後で、次のように実行してください。

java JSample3_1

StringBuilderオブジェクトの作成と基本的な使い方(1)

StringBuilder オブジェクトを使って複数の文字列や数値を連結したあとで、文字列に変換して画面に出力しました。

-- --

Java で StringBuilder オブジェクトの作成と基本的な使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。