Stringオブジェクトは、変更不可の文字列を保持するものなので、本来は変更や連結などをする場合は、StringBufferを使うべき。
StringBuffer (Java Platform SE 6)
Java文字列メモ(Hishidama's Java String Memo)
【Javaの基本】なぜStringBufferを使うのか - Qiita
文字列連結には、appendを使う。
StringBuffer (Java Platform SE 6)
とすると、
sb.toString() = ABC sb.toString() = ABCDEF sb.toString() = ABCDEFGHI
連結できた。
Sample/java/StringBuffer/StringBuffer/src/StringBuffer at master · bg1bgst333/Sample · GitHub