Difference Between StringBuffer and StringBuilder in Java?

Both StringBuffer and StringBuilder are used to create mutable strings — meaning you can change the contents without creating a new object. But they differ mainly in thread safety and performance.


Example For StringBuffer and StringBuilder

StringBuffer (Thread-safe)

StringBuffer sb1 = new StringBuffer("Hello");

sb1.append(" World");

System.out.println(sb1); // Output: Hello World


StringBuilder (Not thread-safe, but faster)

StringBuilder sb2 = new StringBuilder("Hello");

sb2.append(" Java");

System.out.println(sb2); // Output: Hello Java