Monday, December 20, 2010

Difference b/w String and String Builder

Usually, String is immutable which means once you have the content there you cannot change it. While StringBuilder is mutable because it allows you to change the content you have already placed.
Notice that a string allows you to change the content but offcourse it creates a new string reference. For example, all string methods return a new string and don't update the same string variable.
When you have huge amount of concatenation, best recommendation to go for StringBuilder!
Example:
String and StringBuilder class stores strings. But when you cannot change a String object after creating one.
eg: String name = "Prasad";
By saying you cannot change the name object means you cannot change the value in name object internally. When you change the name object value to something else, a new String object is creating in memory and assign the new value.

eg: name = "Prasad Reddy";

A new name object is creating in memory and the value "Prasad Reddy" is assinging to the newly created space.

But StringBuilder class occupies the same space even if you change the value.

If you are doing string concatenation StringBuilder class is far better in performance than String class.

You can use StringBuilder's Append() method to use concatenation.


for example

String strSen = "hello";
strSen+= "Hello";


StringBuilder sbb = new StringBuilder();
sbb = sbb.Append("goldy");
sbb = sbb.Append("gupta");



Both are doing same thing but the process is faster in stringbuilder..

No comments:

Post a Comment