Stringの連結を効率よく行うメモ。
■Stringクラスを使う場合
String str = "abc" + "def" + "ghi";
上記の場合、Stringクラスは固定長であるため、
abcというオブジェクト、defというオブジェクト、ghiというオブジェクト、
それらを足し合わせたabcdefghiというオブジェクトの4つのStringオブジェクトが生成される。
■StringBuilderクラスを使う場合
以下のように連結を行うと、最後に1つだけStringオブジェクトが生成される。
StringBuilder sb = new StringBuilder();
sb.append("abc");
sb.append("def");
sb.append("ghi");
Strint str = new String(sb); // "abcdefghi"
Stringクラスを使う場合でも、
内部的にはStringBuilderクラスなどを利用して連結しているので
最初からStringBuilderクラスを使うほうが無駄なメモリを消費しないうえに高速らしい。
- パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)/アリエル・ネットワーク株式会社

- ¥3,780
- Amazon.co.jp
- Javaの絵本 増補改訂版/(株)アンク

- ¥1,659
- Amazon.co.jp


