Loading

Quipoin Menu

Learn • Practice • Grow

data-structure-with-java / StringBuilder vs StringBuffer
tutorial

StringBuilder vs StringBuffer

When you need to modify strings frequently (like appending many characters), using String can be inefficient because each operation creates a new object. StringBuilder and StringBuffer provide mutable alternatives.

StringBuilder – Mutable, non-thread-safe, faster.


StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(" ");
sb.append("World");
String result = sb.toString(); // "Hello World"

// Common methods
sb.insert(5, " Beautiful");
sb.delete(5, 15);
sb.reverse();

StringBuffer – Mutable, thread-safe (synchronized), slightly slower.


StringBuffer sbuf = new StringBuffer();
sbuf.append("Thread-safe");

Performance Comparison
In a loop with many concatenations, StringBuilder is much faster than using String concatenation.


// Inefficient (creates many intermediate String objects)
String s = "";
for (int i = 0; i < 10000; i++) s += i;

// Efficient (uses StringBuilder internally)
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10000; i++) sb.append(i);
String result = sb.toString();
Two Minute Drill
  • String is immutable; StringBuilder is mutable and faster for single-threaded.
  • StringBuffer is thread-safe but slower.
  • Use StringBuilder when building strings dynamically (e.g., loops).
  • Common methods: append(), insert(), delete(), reverse().

Need more clarification?

Drop us an email at career@quipoinfotech.com