appendメソッド
文字列を連結する – appendメソッド(StringBuffer/StringBuilderオブジェクト)- public StringBuilder append(CharSequence str [,int start, int end])
- str:追加する文字列
- start:追加する文字列の開始位置
- end:追加する文字列の終了位置
文字列を連結するには、StringBuilder/StringBuilderオブジェクトのappendメソッドを利用します。
StrAppend.java
package com.example.mynavi.string; public class StrAppend { public static void main(String[] args) { StringBuilder str = new StringBuilder("あいうえお"); str.append("かきくけこ"); str.append("さしすせそ"); System.out.println(str.toString()); // 結果:あいうえおかきくけこさしすせそ } }
その他にも、「+」演算子で文字列を連結することもできますが、Stringクラスの性質上、効率的ではありません。というのも、Stringクラスが固定長の文字列を表すことから、連結のたびに新しいインスタンスが生成されるためです。一方、StringBuilder/StringBufferクラスは可変長文字列を表すので、文字列が連結されてもインスタンスが新たに生成されることはありません。特に繰り返しの文字列連結では、StringBuilder/StringBufferを優先して利用してください。連結された文字列は、最後にtoStringメソッドを呼び出すことで取り出せます。
なお、StringBuilder/StringBufferクラスの違いは、排他制御機能を持つかどうかという点です。StringBufferクラスは、排他制御機能を持つため、マルチスレッド環境でも安全に利用できますが、その分、低速です。StringBuilderクラスは排他制御機能を持ちませんが、その分、高速に動作します。