String is an immutable object.
Then how can the following code be justified.

String s1 = ?ABC?;
String s1 = s1+?XYZ?;
s.o.p(s1);

The output is ABCXYZ, which is the value of s1 ?

Answer Posted / amr

actually its a compiler error , variable already defined ..

but i'll answer the other part ,
String is immutable but does it make sense to write
String S1= abc;
S1=s1+"def";
YEAH its immutable and what happens behind the scene :
a new temporary String is created and using StringBuffer
which mutable class then appending then returning the
temporary string , thats the meaning of String is immutable
but StringBuffer is mutable , so if u r gonna use intensive
String manipulation u better go for StringBuffer because
String concatenation will result in more lines of code in
the byte code file generated when we compile .
this is a very frequent interview question .

Is This Answer Correct ?    4 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Which is better stringbuilder or stringbuffer?

729


Does printwriter create a file?

759


What is the syntax and characteristics of a lambda expression?

817


Can we declare the static variables and methods in an abstract class?

783


What is high level language in computer?

771


What is an immutable class? How to create an immutable class?

808


What are data types in programming?

779


Why is stringbuffer thread safe?

827


what is a green thread? : Java thread

805


What is an object class?

788


What are the differences between graph and tree?

885


What is the equal sign?

825


How can u increase the heap size in the memory?

791


What are different types of arrays?

771


What is boolean false?

762