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

What are the differences between string, stringbuffer and stringbuilder?

520


Are arrays primitive data types?

636


What is n in java?

535


What is difference between iterator access and index access?

645


I want to persist data of objects for later use. What’s the best approach to do so?

500






What is functional interface in javatpoint?

510


What happens if an exception is throws from an object's constructor?

626


What is a constructor, constructor overloading in java?

526


What is compareto () in java?

537


Which is best ide for java?

521


What are different data structures in java?

530


What are the differences between this and super keyword?

532


Can It is possible to synchronize the constructor of a Java Class?

590


Is set ordered in java?

570


What are synchronized blocks in java?

599