ついにStringBufferの時代が終わる。これが新しい使い方?


java1.4において、文字列を連結するときの話。

特に理由がない場合は、+で文字列を連結するのではなく、StringBufferを使うことが多い。
StringBufferを使う理由には、文字列を連結する際の無駄なStringクラスの作成を省くという意味がある。

たとえば、文字列を10回連結する場合、Stringの連結「+」なら、こう書ける。

 String str = new String();
 str = "a"
   + "b"
   + "c"
   + "d"
   + "e"
   + "f"
   + "g"
   + "h"
   + "i"
   + "j";

このとき、


StringBufferなら、こう書ける。

 StringBuffer str = new StringBuffer();
 str.append("a");
 str.append("b");
 str.append("c");
 str.append("d");
 str.append("e");
 str.append("f");
 str.append("g");
 str.append("h");
 str.append("i");
 str.append("j");


今の現場では、こんな風に書く人がいた。

 StringBuffer str = new StringBuffer();
 str.append("a"
   + "b"
   + "c"
   + "d"
   + "e"
   + "f"
   + "g"
   + "h"
   + "i"
   + "j");

もうね、ありえないよ。


素直に、2番目の方法で書いてくれればいいのに。