String is a immutable objects . it means that string does
not change...........
But it will be chang.........
{
String s="kapil";
String s1="raj";
String s=s1;
then print(.......)
The String has been changed ..
how it is possible and why its called immutable objects
Answer Posted / mintu una
String is Immutable : means when we did String
certficateFileName =” CheckSecurity” ; now one object of
String type is created in memory with
value “CheckSecurity” where as certficateFileName is mere
reference to that, now let say some another program or
user wants ”CheckSecurity” and they create String object
with file name String myCertFileName =”CheckSecurity”.
At this point certficateFileName and myCertFileName there
are two references but String object is same
i.e. ”CheckSecurity”, as java decided to make this String
class Immutable because if second program does like
myCertFileName = myCertFileName + “.cer” then new String
object is created in memory with vale “CheckSecurity.cer”
and reference to this is myCertFileName. myCertFileName
reference is removed from String object having
value “CheckSecurity”.Note that “CheckSecurity” String
object valuedid not changed it is same as earlier because
String class is immutable and its reference at this point
is only “certficateFileName” not the myCertFileName .
So String class also immutable for Security reason so that
once String object is declared its value will not be
changed, if changed then new object is created and moreover
if let us say 10 references in memory to same String
object then only one object is there so memory is also
managed with this… Hope it will help to understand the
concept
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
What is an object’s lock and which object’s have locks?
Can we have multiple catch block for a try block?
Are the imports checked for validity at compile time? Will the code containing an import such as java.lang.abcd compile?
why are there separate wait and sleep methods? : Java thread
Tell me about different OOPS concepts.
What is jdbc api?
What is command line used for?
What is Java Shutdown Hook?
Why are functions called methods in java?
Can list be final in java?
why are wait(), notify() and notifyall() methods defined in the object class? : Java thread
What is variable in java?
Why main function is static?
What is dynamic binding(late binding)?
Which number is denoted by leading 0x or 0x in java?