//  Data Structures with Java by John R. Hubbard
//  Copyright McGraw-Hill, 2001
//  Example 1.9 on page 12
//  Testing the uniqueness of String literals

public class Ex0109
{ public static void main(String[] args) 
  { String s1="ABCDEFG";
    System.out.println("s1 = \"" + s1 + "\"");
    System.out.println("(s1 == \"ABCDEFG\") = " + (s1 == "ABCDEFG"));
    System.out.println("(s1 == \"ABCD\"+\"EFG\") = "
                      + (s1 == "ABCD"+"EFG"));
    String s2="ABCDEFG";  // makes s2 a synonym for s1
    System.out.println("s2 = \"" + s2 + "\"");
    System.out.println("(s1 == s2) = " + (s1 == s2));
    s2 = new String("ABCDEFG");  // now s2 refers to a separate object
    System.out.println("s2 = \"" + s2 + "\"");
    System.out.println("(s1 == s2) = " + (s1 == s2));
    System.out.println("s1.equals(s2) = " + s1.equals(s2));
  }
}
