java.lang · java.base · since Java 1.5

StringBuilder

declaration
public final class StringBuilder
        implements Appendable, CharSequence, Serializable

Mutable string buffer for efficient incremental construction. The cure for quadratic loop concatenation; not thread-safe (its synchronized twin StringBuffer is legacy).

  • Presize with the expected capacity to avoid regrowth copies

Key methods

StringBuilder append(…)Overloaded for every type; returns this for chaining.
StringBuilder insert(int offset, …)Insert at position.
StringBuilder deleteCharAt(int) / delete(int, int)Remove characters.
StringBuilder reverse()In-place reversal.
void setLength(int)Truncate or pad — setLength(0) resets for reuse.
String toString()Snapshot the current contents.

Example

Java
StringBuilder sb = new StringBuilder(lines.size() * 32);   // presize when known
for (String line : lines) sb.append(line).append('\n');
String doc = sb.toString();