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 / k.shiva

here we define s1="ABC".That means one new string is
created.And this string value is stored in heap its
refrence variable is s1.when we say s1+"XYZ".Then string s1
i.e ABC and XYZ are concadinated by using concadination
operater.It forms a new string i.e "ABCXYZ" in heap.But
again we assign this value to the refrence variable
s1.Then "ABCXYZ" value is assign to s1 and the string "ABC"
which is garbage collected.

Is This Answer Correct ?    12 Yes 4 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is == in java?

557


What is set and get methods in java?

533


How many bits is a char?

533


How do you classify Dialog Box?

639


What is an 8 bit word?

586






What is boolean data type in java?

559


When object is created and destroyed?

634


What is hashmap and map?

545


What are scalar data types?

517


Is it possible to override private or static method in java?

536


Explain the difference between map and flatmap stream operation?

812


What is difference between length and length() method in java ?

550


What is jdbc api?

531


What does exp mean in math?

523


What is module in oop?

562