String(immutable) : Once we have assigned a value can never be change.It is immutable. For example, we have String s = �abcdef�; //Create a new String object,with value �abcdef� refers to it. String s2 = s;//Create a 2nd reference variable referring to the same thing. s = s.contact(�morestuff�);//Create a new String object,with value �abcdef morestuff� , refers to it. (Change s�s reference from the old string to the new String.(Remember s2 is still referring to the original �abcdef� String.
StringBuffer(mutable): StringBuffer objects are changeable.It is mutable. For example, StringBuffer sb = new StringBuffer(�abc�); sb.append(�def�); System.out.println(sb); In this case the output will be �abcdef�.
how i will know whether class is mutable or not by seeing java api .
By using your memory? Vishal's first answer, as modified by Ulf, is probably all you need to know. You need to know what the primitive wrapper classes are anyway, because they come up in other parts of the test objectives (like autoboxing) [ March 06, 2008: Message edited by: Mike Simmons ]
Tim Weide wrote:Why would you want to write a mutable class?
if want to perform any modification on existing object with those changes a new Object will be created this concept is nothing but immutability......
sample code is
final public class MyImmutable{
private int var1=0;
public MyImmutable(int var1){
this.var1=var1;
}
public MyImmutable getModify(int var1){
if(this.var1==var1){return this;}
else
return new MyImmutable(var1);
}
}
Post by:autobot
You're not going crazy. You're going sane in a crazy word. Find comfort in this tiny ad:
a bit of art, as a gift, that will fit in a stocking