StringBuilderちゃんと使えてる?
📅 2012/09/30
“Hoge"+"Hoge"するときはStringBuilderを使って.append(“Hoge”).append(“Hoge”)しましょう。 そう1年前のエンジニアアカデミーで聞いてそうしてきた。
バイトコードを読む機会があったのでふと今のコンパイラだとどうなっているんだろうと検証してみた。
バイトコードを見てもらうとわかるように単純に文字列を結合しているところも きちんとappendで追加するように最適化されている。 appendを書く作業が減ってかなり楽になると思う。 ただし以下のコードで文字列を結合する場合はStringBuilderが2つnewされるので素直にappendしましょう。
String hoge = "hoge";
hoge + = "hige";
機会があれば他の最適化周りも調べてみよう。