/* Example of Immutable Variables */ import java.util.Date; import java.util.Calendar; import java.io.PrintWriter; class ImmutableVariables{ public static void main(String[] args){ PrintWriter pw = new PrintWriter(System.out, true); // Create a mutable Calendar Object pw.println("\n== Demonstrate mutable Calendar Object =="); Calendar cal = Calendar.getInstance(); pw.println("Start Date: " + cal.getTime()); cal.set(2010, 11, 31, 12, 00); pw.println("Updated Date: " + cal.getTime()); // Create an immutable String Object pw.println("\n== Demonstrate immutable String Object =="); String start = "Start String"; pw.println("start = " + start); start.replaceAll("Start", "Updated"); pw.println("start = " + start); // Change the String Reference pw.println("\n== Copy String and Compare it =="); pw.println("start = " + start); String copy = start; pw.println("String contents equal: " + copy.equals(start)); pw.println("String reference equal: " + (copy == start)); pw.println("\n== Change Copy and Compare Strings =="); start = new String("Start String"); pw.println("start = " + start); pw.println("String contents equal: " + copy.equals(start)); pw.println("String reference equal: " + (copy == start) + "\n"); } }