Sunday 9 December 2012

String Vs StringBuffer Vs StringBuilder

String is immutable while StringBuffer and StringBuilder is mutable object.

StringBuffer is synchronized while StringBuilder is not which makes StringBuilder faster than StringBuffer.


Concatenation operator "+" is internal implemented using either StringBuffer or StringBuilder.


Criteria to choose among String, StringBuffer and StringBuilder(Simple)

          Use String if you require immutability, 
          Use Stringbuffer in java if you need mutable + threadsafety 
          Use StringBuilder in Java if you require mutable + without thread-safety.

Criteria to choose among String, StringBuffer and StringBuilder(Explained in detail)
          If your text is not going to change use a string Class because a String object is immutable        
          If your text can change and will only be accessed from a single thread, use a StringBuilder because StringBuilder is unsynchronized.
          If your text can changes, and will be accessed from multiple threads, use a StringBuffer because StringBuffer is synchronous.