When you say String is immutable, what do you mean by that?
Say I have String s = "Ness"
s= s+"Technologies";
What will happen? If the value gets appended, then what is
the meaning of immutable here?

Answers were Sorted based on User's Feedback



When you say String is immutable, what do you mean by that? Say I have String s = "Ness" ..

Answer / haribabu

Once you have assigned a value to a "String Object" (i am
saying an "object" not the "object reference")that value
can never change. This is immutability.

by defining "s = s+Technologies" we are pointing the
REFERENCE to newly created "string object" with the
modified string. So the previous string object is
considered to be lost.

This concept has explained very well in String, I/Os
chapter of Kethy Siera, SCJP 5.

All the best

Is This Answer Correct ?    26 Yes 0 No

When you say String is immutable, what do you mean by that? Say I have String s = "Ness" ..

Answer / harmetkrishanan

every time a new String object gets created in this case.

Is This Answer Correct ?    24 Yes 5 No

When you say String is immutable, what do you mean by that? Say I have String s = "Ness" ..

Answer / bln

Every time a new String objects gets created in this case,
but if assigned value is not same. If assigned, value is
same, then it points to same memory location, even if it is
another variable. For ex;
String s="Test";
String s2="Test";

Now s, s2 points to the same memory location.

Is This Answer Correct ?    20 Yes 2 No

When you say String is immutable, what do you mean by that? Say I have String s = "Ness" ..

Answer / r.jainrocks@gmail.com

When concatenation operator "+"
used with string

it always creates a new String object,
in String pool area.

Is This Answer Correct ?    11 Yes 0 No

When you say String is immutable, what do you mean by that? Say I have String s = "Ness" ..

Answer / anjani kumar jha


Now u add s= s+"Technologies";
so it will NessTechnologies because you append. and assign
new varible,means that new addition is assigned to s

take one example for more clarity

String x = "Java";
x.concat(" Rules!");
System.out.println(x);

output is x=java
because string is immutable.............think hard on it


Consider the following another example---------and think
about that

public class NewClass {

public static void main(String as[])
{
String s="abc";
String s1=s+"cde";
System.out.println(s);
System.out.println(s1);


String x = "Java";
x.concat(" Rules!");
System.out.println(x);
}

}
output is
s=abc;
s1=abcde
x=java

since u have added cde in s but still from the output it is
abc...............means string is immutable,

For more contact me
Anjani Kumar jha
09623154095
CDAC,PUNE

Is This Answer Correct ?    6 Yes 4 No

Post New Answer

More Core Java Interview Questions

What is string in java? String is a data type?

1 Answers  


What is static variable and static method?

32 Answers   Accenture, Prolific, Prolifics, TCS, TNH,


Is linkedlist thread safe in java?

1 Answers  


What is stream api in java8?

1 Answers  


Where can i get Latest SUN Certification Dumps and what are the Sun Certification Codes that are available, Im new to JAVA, so please gimme info as i need to write J2EE - Core Java Certification

1 Answers  


How hashmap works in java?

1 Answers  


What sorting algorithm does javascript use?

1 Answers  


What are the advantages of assembly language?

1 Answers  


What are 3 boolean operators?

1 Answers  


Which Java operator is right associative?

3 Answers  


Can we create constructor in abstract class ?

1 Answers  


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

1 Answers  


Categories