StringBufferクラスを使い文字列を扱うこともできる。変数の値の文字列を何度も変更する場合に有効だ。
Stringクラスは、値を変更する度に新たなメモリ領域を使用する。これに対し、StringBufferクラスは、元の値のメモリ領域を使用するので、メモリ領域を節約したいときに有効だ。ただし、実行速度は低下するかもしれない。
構文
先に宣言した変数に代入1
StringBuffer 変数; // 宣言
変数 = new StringBuffer( "文字列" ); // 生成及び代入
変数 = new StringBuffer( "文字列" ); // 生成及び代入
先に宣言した変数に代入2
StringBuffer 変数; // 宣言
変数 = new StringBuffer(); // 生成
変数.append( "文字列" ); // 代入
変数 = new StringBuffer(); // 生成
変数.append( "文字列" ); // 代入
宣言と同時に代入
StringBuffer 変数 = new StringBuffer( "文字列" );
サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package samplePackage; public class SampleClass { public static void main( String[] args ){ StringBuffer $str1; $str1 = new StringBuffer( "文字列1" ); System.out.println( "$str1の値は、「" + $str1 + "」である。" ); StringBuffer $str2; $str2 = new StringBuffer(); $str2.append( "文字列2" ); System.out.println( "$str2の値は、「" + $str2 + "」である。" ); StringBuffer $str3 = new StringBuffer( "文字列3" ); System.out.println( "$str3の値は、「" + $str3 + "」である。" ); $str1.append( " 追加文字列A" ); System.out.println( "$str1の値は、「" + $str1 + "」である。" ); $str1.append( " 追加文字列B" ); System.out.println( "$str1の値は、「" + $str1 + "」である。" ); } } |
実行結果
$str1の値は、「文字列1」である。
$str2の値は、「文字列2」である。
$str3の値は、「文字列3」である。
$str1の値は、「文字列1 追加文字列A」である。
$str1の値は、「文字列1 追加文字列A 追加文字列B」である。
$str2の値は、「文字列2」である。
$str3の値は、「文字列3」である。
$str1の値は、「文字列1 追加文字列A」である。
$str1の値は、「文字列1 追加文字列A 追加文字列B」である。