hi to all. well can you please tell me that why String class
is immutable?

Thanks in advance.

Answers were Sorted based on User's Feedback



hi to all. well can you please tell me that why String class is immutable? Thanks in advance...

Answer / akhil saxena

Immutable means which cant not be changed. whenever you call
a method though an instance of String class it will give you
the result as new String object. It wont change the existing
String object.

String class objects are made immutable so that if the
String is logically same,then more than one object can refer
the same single String in memory. in this way it also saves
memory.

Example: String a="ABC";
String b="ABC";

in above example JVM will create only one object with the
value "ABC" and both the reference variables a and b will
refer to the same. So it is saving memory.


If you need to change a String object very frequently, it is
not adviced to use a String object as it creates a new
object whenever you change its value. Its a best practice to
use StringBuffer. it is mutable.

For more info write to me at akhilsaxenain2000@yahoo.com

Is This Answer Correct ?    12 Yes 0 No

hi to all. well can you please tell me that why String class is immutable? Thanks in advance...

Answer / hari

Well it is immutable because of the memory concern. For
every new string if there is new object then it will take
lot of memory and if there is such requirement then there
is StringBuffer class provided.

Is This Answer Correct ?    2 Yes 0 No

hi to all. well can you please tell me that why String class is immutable? Thanks in advance...

Answer / mahi

Yes String cannot be modified because we can not append
another String to existing one.
Example:

1) String string=new String("abc");
2) String s2= string + "hai";

As shown in the above, 2nd line will create one new object
with the value "abchai" so it cannot be modified.

If the same thing if you do with StringBuffer class as
below we can modify

1) StringBuffer str=new StringBuffer("abc");
2) str.append("hai");
Here we can modify existing StringBuffer object - str

Is This Answer Correct ?    2 Yes 1 No

hi to all. well can you please tell me that why String class is immutable? Thanks in advance...

Answer / rohit kumawat

String class actually kept immutable by developers of "Sun
microsytems" because of you use it in desktop application
not for mobile application where memory is short & less to
work

Is This Answer Correct ?    1 Yes 0 No

hi to all. well can you please tell me that why String class is immutable? Thanks in advance...

Answer / syed

Since, return type of the string class cannot be altered
with substrings or any ammendments to it .

Is This Answer Correct ?    0 Yes 2 No

Post New Answer

More Core Java Interview Questions

What is the difference between keyword and identifier?

0 Answers  


What is connection class in java?

0 Answers  


What is difference between an object and a class?

0 Answers   Amdocs,


What is scope of a variable?

0 Answers   TCS,


Can memory leak happen java?

0 Answers  






v-model life cycle

0 Answers   Virtusa,


What is the blank final variable?

3 Answers  


What do you understand by weak reference?

0 Answers  


What is the difference between the synchronized() & static synchronized()?

2 Answers   HP, SparkTG,


When we can access the static data member without creating the object what is the need of the object in java.

5 Answers   Airhub, ssinformatics,


If I only change the return type, does the method become overloaded?

0 Answers  


What is meant by class loader and how many types are there?

2 Answers   Apple,


Categories