What are the differences between String, StringBuffer, and StringBuilder in java?
All Java developers use the string in every day’s coding. It is impossible to pass days as a developer without using the Java String class. We also have StringBuffer and StringBuilder classes in Java. Following are some differences of String, StringBuffer and StringBuilder:
# | String | StringBuffer | StringBuilder |
---|---|---|---|
1 | String is immutable | StringBuffer is mutable | StringBuilder is mutable |
2 | String is thread-safe | StringBuffer is thread-safe | StringBuilder is not thread-safe |
3 | String is fast | StringBuffer is very slow | StringBuilder is fast |
4 | String storage area is constant string pool | StringBuffer storage area is heap | StringBuilder storage area is heap |
We should prefer StringBuilder in all cases where we have only a single thread accessing the object.