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
Is java hard to learn?
How do you override a variable in java?
Can we override protected method in java?
Is it possible to write a regular expression to check if string is a number?
What is the difference between super class & sub class?
What is local variable and instance variable?
What data structures are used to perform recursion?
Why are the methods of the math class static?
What is the difference between yield() and sleep()?
5 Coding best practices you learned in java?
why not override thread to make a runnable? : Java thread
What is advantage of java?
What do you mean by constructor?
How does thread synchronization occurs inside a monitor? What levels of synchronization can you apply?
Which category the java thread do fall in?