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.



StringBuffer:

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
synchronous

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.
ex.
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.
ex.
StringBuffer sb = new StringBuffer("Java");
sb.append("Bean");

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.
ex.

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
content.........

Is This Answer Correct ?    3 Yes 0 No

Post New Answer





More Core Java Interview Questions

Who developed JScript language?

3 Answers  


String Reverse in Java...!

5 Answers  


how to deploy tomcatserver to weblogic server? write d following steps?

0 Answers  


Is it possible to declare abstract class as final?What happens if we do so?

0 Answers  


Write POJO class as a key to hashmap???

2 Answers  






If goto and const is reserve words than why it is not work in java?

0 Answers  


why is multiple inheritance not allowed in java?

7 Answers   Elementus Technologies, Huawei,


Can you make an instance of an abstract class?

5 Answers   Accenture,


what is the use of datasource in core java?

3 Answers   Satyam,


What are the interfaces defined by Java.lang package?

1 Answers  


When finalize method is called?

3 Answers  


if the memory capacity is 700 presently occupied by process is 690. then another process request space(40) how this situation handled in java.

4 Answers   Wipro,






Categories