Immutable Vs mutable



//Note: insert() is not applicable on String literal and object.
//Reason: String is immutable, because memory will not change.
StringBuffer username1=username.insert(2, 'a');
System.out.println("User Name after insert: "+username1);
StringBuilder email1=emailId.insert(15, ";");
System.out.println("Email Id after insert: "+email1);




//Rule: delete() is not applicable on immutable class(String literal and object).
//Reason: String is immutable, because memory will not change.
//1 is included but not 4.
StringBuffer username2=username.delete(1, 4);
System.out.println("User name after delete: "+username2);
StringBuilder email2=emailId.delete(15, 16);
System.out.println("Email Id after delete: "+email2);



//Rule: reverse() is not applicable on String literal and String object. (not applicable on immutable class)
System.out.println("User Name before reverse:"+username);
StringBuffer username3=username.reverse();
System.out.println("User Name after reverse: "+username3);
System.out.println("Email id before reverse: "+emailId);
StringBuilder emailid3=emailId.reverse();
System.out.println("Email id after reverse: "+emailid3);