文字列の結合
文字列を結合する方法には、 String + String と StringBuffer#append() を使う方法があります。
(注: Java1.5 では StringBuilder ができるらしい・・・)
基本的に、StringBuffer#append() を使う事が推奨されています。
パフォーマンスに大きな差がある為で、実測した値を下に書いておきます。
ソース記述例
public static void main(String[] args) {
long now = System.currentTimeMillis();
String str = "";
for (int i = 0; i < 100000; i++) {
str = str + "a";
}
System.out.println("Elapse(String +): "
+ (System.currentTimeMillis() - now));
now = System.currentTimeMillis();
StringBuffer buff = new StringBuffer();
for (int i = 0; i < 100000; i++) {
buff.append("a");
}
System.out.println("Elapse(StringBuffer): "
+ (System.currentTimeMillis() - now));
}
を実行すると
出力結果
Elapse(String +): 56594
Elapse(StringBuffer): 47
100000 回 a を繋げるのにかかった時間(ミリ秒)の差です。
断然 StringBuffer のが早いのがわかります。
|