文字列の連結
文字列の連結は String クラスの場合、連結子 + を用いる。
しかし、他のやり方があった。
StringBuffer クラス、 StringBuilder クラスだ。
文字列どうしを結合したいとき、Stringだと”+”演算子を使いますが、
Stringが固定長文字列のため、”+”を使用するたびインスタンスをnewします。
newの回数が多くなるのはパフォーマンス的な立場からすると良くない手法です。StringBuffer?は可変長で結合のときにはappend(String str)メソッドを使えばnewせずにすむので、
パフォーマンスを考慮するとこちらが良いとされています。引用元サイト:ピノキヲWiki Java/StringBufferとStringBuilderとString
上記引用元サイトにて、パフォーマンス実験結果を見ることができる。
int myInt = 24;
String myTitle = myString + String.valueOf(myInt);[/java2se6]
JDK 6 ドキュメント:String
int myInt = 24;
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(myString).append(myInt);[/java2se6]
JDK 6 ドキュメント:StringBuffer
※StringBuilder も全く同じ書式
JDK 6 ドキュメント:StringBuilder
確かに可読性は落ちるかもしれないけど、
append メソッドを用いることで型変換をしなくて済むのはありがたいね。
参考元サイト:J2SE 虎の穴 文字列操作 スレッドセーフ vs パフォーマンス StringBuilder
さっぱりチンプンカンプン・・・。 🙄