String str1="fly";
String str2="weight";
String str2="flyweight";
String str4=null;str4=str1+str2;  //书上对这句话的解释是:使用+串联字符串会产生一个新的字符串对象,所以在程序中,第一次比较str3和str4对象是否为同一对象时,结果会是false!这里不明白,在连接完成后,str4的内容不就是flyweight了么,而字符串池中已经有了一个flyweight了啊,为什么 str4不会去引用那个已经存在的那个flyweight呢?System.out.println(str3==str4);str4=(str1+str2).intern();
System.out.println(str2==str4);