Java provides three classes to represent a sequence of characters: String, StringBuffer, and StringBuilder. The String class is an immutable class whereas StringBuffer and StringBuilder classes are mutable. There are many differences between StringBuffer and StringBuilder. The StringBuilder class is introduced since JDK 1.5.
A list of differences between StringBuffer and StringBuilder is given below:
No. |
StringBuffer |
StringBuilder |
1) |
StringBuffer is synchronized i.e.
thread safe. It means two threads can't call the methods of StringBuffer
simultaneously. |
StringBuilder is non-synchronized i.e.
not thread safe. It means two threads can call the methods of StringBuilder
simultaneously. |
2) |
StringBuffer is less efficient than
StringBuilder. |
StringBuilder is more efficient than
StringBuffer. |
3) |
StringBuffer was introduced in Java 1.0 |
StringBuilder was introduced in Java 1.5 |
StringBuffer Example
BufferTest.java
Output:
hellojava
StringBuilder Example
BuilderTest.java
Output:
hellojava
Performance Test of StringBuffer and StringBuilder
Let's see the code to check the performance of StringBuffer and StringBuilder classes.
ConcatTest.java
Output:
Time taken by StringBuffer: 16ms Time taken by StringBuilder: 0ms
0 Comments