File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes Using StringBuffer() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Using StringBuffer()" Watch "Using StringBuffer()" New topic

Using StringBuffer()

greg norman

Joined: Jun 11, 2003
Posts: 19
What is the advantages and the DISADVANTAGES of using the StringBuffer? Can any expert explain?
Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63873

Though not an exhaustive explanation, one of the primary advantages is avoiding the creation of a whole slew of String objects as will happen when you concatenate a bunch of Strings using the '+' opreator.
You get a not insignificant performance boost as object creation is a relatively expensive operation, and moreover, StringBuffer is highly optimized for string concatenation.
StringBuffer is also mutable, whereas String is not, if that's an issue for you.

[Asking smart questions] [About Bear] [Books by Bear]
Gayathri Prasad
Ranch Hand

Joined: Jun 25, 2003
Posts: 116
String Buffer is like a string but with mutable characters.
The Last paragraph in the java.lang.String javadoc says:
The Java language provides special support for the string concatentation operator
( + ), and for conversion of other objects to strings. String concatenation is
implemented through the StringBuffer class and its append method. String
conversions are implemented through the method toString, defined by Object and
inherited by all classes in Java. For additional information on string concatenation
and conversion, see Gosling, Joy, and Steele, The Java Language Specification.

String buffers are safe for use by multiple threads. The methods are synchronized where necessary so that all the operations on any particular instance behave as if they occur in some serial order that is consistent with the order of the method calls made by each of the individual threads involved.

Beginning is half done...
I agree. Here's the link:
subject: Using StringBuffer()
It's not a secret anymore!