publicstaticvoidmain(String[] args){
// 堆 new String("a"), new String("b"), new String("ab")String s =newString("a")+newString("b");//串池 ["a","b"]System.out.println(s =="ab");//【1】 false s是堆中的对象 ab是串池中的常量对象String s2 = s.intern();//串池["a","b","ab"]//intern() 将这个字符串对象放入串池,如果有则不会放入,没有则放入串池,会返回池中的对象System.out.println(s2 =="ab");//【2】 true s2是池中的对象 ab也是池中的对象System.out.println(s =="ab");//【3】 true s变成了串池中的对象 ab是串池中的常量}
1.3 问题2(串池中有字符串常量的比较)
publicclass q1 {
publicstaticvoidmain(String[] args){
String x ="ab";// 将ab放入常量池 串池:["ab"]// 堆 new String("a"), new String("b"), new String("ab")String s =newString("a")+newSt