String str1
= "name";
String str2 = "name";
String str3
= new String("name");
System.out.println(str1==str2) //true
System.out.println(str1 == str3) //false “==”比较的是内存地址
System.out.println(str1.equals(str3)) //true
使用equals比较的是值
System.out.println(str3==str3.intern());
//false
---------------ABCDEFG
字符串池
堆
栈
"name"
str3的引用
str3的内存空间(“name”)
(str1 str2)
同时指向字符串池中“name”
str3.intern()使用了intern后,返回一个指向字符串池中的“name” 的引用,所以不相等(ABCDEFG)