Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド

文字列の連結に StringBuffer を使用する

パフォーマンスを改善するには、文字列連結を使用する代わりに StringBuffer.append() を使用します。

文字列オブジェクトは不変であり、作成後に変化することはありません。以下のコードを例に説明します。

String str = "testing";
str = str + "abc";

コンパイラはこのコードを次のように変換します。

String str = "testing";
StringBuffer tmp = new StringBuffer(str);
tmp.append("abc");
str = tmp.toString();

この例が示すように、コピーは本質的に負荷が大きい処理であり、使用しすぎるとパフォーマンスを著しく低下させる可能性があります。