public class Test {
public static void main(String[] args) {
String str1 = "ab";
String str2 = new String("a") + new String("b");
//堆 new String("a")
String str3 = str2.intern();
System.out.println(str3 == str1); //true
System.out.println(str2 == str1);//flase
}
}
intern的意思:将这个字符串对象尝试放在串池,如果有则并不会放入,如果没有则放入串池,会把串池中的对象返回
看下边位置换一下结果就行不一样
public class test {
public static void main(String[] args) {
String str2 = new String("a") + new String("b");
String str3 = str2.intern();
String str1 = "ab";
System.out.println(str3 == str1); //true
System.out.println(str2 == str1); //true
}
}