ひじりんのひつまむしブログ

現役システムエンジニアのゲームやら映画やら技術やら・・

StringBufferとStringBuilder

Javaにおける文字列の連結

文字列の連結に対して

+ 演算子

例えば

String str = "aaa" + "bbb" + "cc" + "d";

というのは、あまりよくない

というのは、+ 演算子をするだけで

new 演算子が呼び出される。

この、new はオーバーヘッドで、多用すると速度やメモリに

影響を与える。

そこで、

StringBuilder sb = new StringBuilder();

sb.append("aaa");

sb.append("bbb");

sb.append("cc");

sb.append("d");

String str = sb.toString();

とする方がよい

 

 文字列を構成するクラス

StringBuilder と StringBuffer がある

StringBuilder の方が後で作られたもの

といって、必ず新しい方がよいかとそうではない

メリット

StringBuilder の方が高速

StringBuffer の方がマルチスレッドに対応している

デメリット

StringBuffer の方が遅い

 

まとめ

マルチスレッドを使わなければ、StringBuilderの方が

おすすめしたい

PVアクセスランキング にほんブログ村