Difference between String & StringBuffer

Answers were Sorted based on User's Feedback

Answer / niranjanravi

String objects are constants and immutable where as
StringBuffer objects are not.StringBuffer Class supports
growable and modifiable string where as String class
supports constant strings. Strings once created we cant
modify them. Any such attempt will lead to the creation of
new strings.Where as StingBuffer objects after creation
also can be able to delete oo append any characteres to
it.String values are resolved at run time where as
StringBuffer valuesc are resolved at compile time.So if you
know the exact size of the string to be appended it is
better to go for String objects.

Is This Answer Correct ?    194 Yes 19 No

Answer / ramanareddy333

strings are immutable where as string buffer is a
mutable,that means strings having the fixed size and string
buffer size is varied(growable).

Is This Answer Correct ?    119 Yes 16 No

Answer / navneet raushan

The great difference between String and string buffeer is
that String buffer is thread safe where as String is not
thread safe as well as string is immutable and String
buffewr is mutable.

Is This Answer Correct ?    76 Yes 12 No

Answer / vijayakumar chinnasamy

String :
1.Content does not change –immutable

2.final class (cant subclass)

3.compareTo() - compare the string
result : < , > , = --- dictionary order

4.reverse() not available

5.is not thread safe

Criteria to choose among String
If your text is not going to change use a string Class
because a String object is immutable.


1. Content can be change Mutable

2.Final class.

3. compareTo() Not available

4.reverse() available

Allocates room for 16-addition character space when no
specific length is specified.

5.is thread safe

Criteria to choose StringBuffer

If your text can changes, and will be accessed from
multiple threads, use a StringBuffer because StringBuffer is

Is This Answer Correct ?    52 Yes 9 No

Answer / nilesh bhil( mca) amravati

String is immutable.
It means that we cant change the content of String once created. If we try append a new string using + operator
then it creates new String object.
string s = new String("Java");
s = s + "bean" ;// this statement creates new object.
String class does not have method that append new String to old String in object.

where as StringBuffer class is mutable. It means that we can add new String to it using append() method.
StringBuffer sb = new StringBuffer("Java");

Is This Answer Correct ?    38 Yes 3 No

Answer / ravikiran(aptech mumbai)

String is immutable where as StringBuffer is mutable.Means
until the newly created string object is reffered by a
reference variable it's value is uncahangable

Is This Answer Correct ?    34 Yes 7 No

Answer / bubun

string is slower in case of concatenation but stringBuffer
is faster than string.

Is This Answer Correct ?    23 Yes 2 No

Answer / devang bhagdev

in string class that is synchronized is not allows and i stringbuffer class synchronized is allows us

Is This Answer Correct ?    17 Yes 3 No

Answer / kunal chwala

It means that we cant change the content of String once created. If we try append a new string using + operator
then it creates new String object.

Is This Answer Correct ?    13 Yes 5 No

Answer / tamanna reshmi

The main difference of string class and StringBuffer is
that....while STRING class creates strings
fixed_length,STRINGBUFFER creates strings of flexible length
that can be modified in terms of both length and

Is This Answer Correct ?    3 Yes 0 No

Post New Answer

More Core Java Interview Questions

Is 'null' a keyword?

8 Answers  

where do you place after you did code in java

2 Answers  

What is the immediate superclass of the Dialog class?

2 Answers  

Distinguish method overloading and overriding

2 Answers   Tech Mahindra,

Why const and goto are reserved keyword in java?

1 Answers  

public class Test { public static void main(String ar[]) { Integer a = 10; Integer b =10; Integer c = 145; Integer d = 145; System.out.println(a==b); System.out.println(c==d); } }

7 Answers   iGate,

Differences between jdk 1.4 and 1.5

6 Answers   SoftSol, TCS, Wipro,

Name the types of mouse event listeners ?

2 Answers  

we know that every java prog must follows OOPS Principles. Anybody can answer, HOW THE FOLLOWING PROGRAM FOLLOWS OOPS CONCEPTS i.e, Inheritance,Polymarphism,Encapsulation? class a{ public static void main(String args[]){ System.out.println("Hello World"); } }

3 Answers  

what is d difference between deep cloning and shallow cloning in core java?

3 Answers   Satyam,

can we Connect Applet to Data Base ? with Discriptiom. and also What is Diff. from Applet & Servlet?

1 Answers   Systematix,

Can Applet have constructors?

5 Answers   Infosys,