/**
*返回字符串对象的规范表示。 最初为空的字符串池由String类String 。
*当调用intern方法时,如果池已经包含与equals(Object)方法确定的相当于此String对象的字符串,则返回来自池的字符串。否则,此String对象将添加到池中,并返回对此String对象的引用。
*由此可见,对于任何两个字符串s和t , s.intern() == t.intern()是true当且仅当s.equals(t)是true 。
*/
// 如果池已经包含与equals(Object)方法确定的相当于此String对象的字符串,则返回来自池的字符串
String bb = "b";
String b = new String("b");
String bbb = b.intern();
// 93122545
System.err.println(System.identityHashCode(b));
// 2083562754
System.err.println(System.identityHashCode(bb));
// 2083562754
System.err.println(System.identityHashCode(bbb));
// 否则,此String对象将添加到池中,并返回对此String对象的引用。
String a = new String("a");
String aa = a.intern();
String aaa = "a";
// 488970385
System.err.println(System.identityHashCode(a));
// 1209271652
System.err.println(System.identityHashCode(aa));
// 1209271652
System.err.println(System.identityHashCode(aaa));