`String` jest niemutowalny, więc wielokrotne konkatenacje tworzą dużo obiektów. `StringBuilder` jest mutowalny i szybki do składania tekstu w jednym wątku; `StringBuffer` jest podobny, ale zsynchronizowany (dziś rzadko potrzebny).
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 3; i++) {
sb.append(i).append(",");
}
System.out.println(sb.toString());