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 ?
Answers were Sorted based on User's Feedback
Answer / paras bist
above program is incorrect ,it will give compile time error
as "Duplicate Variable s1".
it should b
String s1 = "ABC";
String s = s1+"XYZ";
which is valid in string ,as we are creating new String
object
| Is This Answer Correct ? | 14 Yes | 2 No |
Answer / 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 |
Answer / 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 |
Answer / vishal
in the later case a different overloaded contructor is
invoked while in the prior case a different.As in the later
case a different constructor initializes the string s1 with
different values hence the result
| Is This Answer Correct ? | 4 Yes | 2 No |
If a class is declared without any access modifiers, where can the class be accessed?
what is object deep copy and shallow copy and why it is required?
What is double checked locking in singleton?
Does any tag exists in HTML to upload and download files ?
What happens when a main method is declared as private?
22 Answers DELL, Infosys, L&T, Sun Microsystems,
byte a=5; byte b=5; byte c=a+b; System.out.println(c); whats the o/p?
what is difference between type 4 driver and type 1 driver?
2 Answers CMC, CTS, IBM, JK Technosoft, Napier Healthcare,
What are thread groups?
What are methods of a class?
What are bind parameters?
What is the exact difference in between unicast and multicast object? Where we will use?
what is the default value of a variable char?(If not assigned)