Javaの文字列結合で+=演算子は使うべきか
Javaの文字列結合はいくつかの方法があり、議論の多い部分。
基本的にはStringBuilderを使うのがベストということで結論は出ているが、場合によってはStringBuilderを使うほどでもないケースがある。
性能問題が出ずに拡張性も不要のテストメソッドなどの場合は+演算子で済ませることもあるが、今回はじめて+=演算子が使えることを知った。
これがどの程度有効かを調べた。
記述方法はひしだまさんのブログで紹介されている。
+=演算子がいつから使えるのかは把握していないが、1.5では既に使えたよう。
ひしだまさんのブログではそれぞれの結合方法がどのようにコンパイルされるかも検証されている。
きしださんがブログで文字列結合を取り上げているが、+=は登場しない。
やはり一般的な方法ではないようだ。
それもそのはずで、+でさえ非効率なのに、さらにStringBuilderが毎回作成されてしまうので、選ぶ理由がない。
結論はセオリー通りになるが、文字列結合を複数回繰り返すような場合はStringBuilderを、性能を気にせず簡素に書きたい場合は+を使うのが良い。
+=を使う理由はない。