https://zhidao.baidu.com/question/651217979415128765.html
String a =
"abc"
;
String b =
"abc"
;
System.out.println(a==b);
//true
String c =
new
String(
"def"
);
String d =
new
String(
"def"
);
System.out.println(c==d);
//false
对于第一种方式· java有一个字符串缓冲区 你新建一个的时候它会先找缓冲区里有没有这个字符串 如果有 直接返回引用 没有就在里面新建
第二种方式 新建一个 它首先也会去缓冲区里边查找 不管有没有 它都会在堆里新建一个 如果缓冲区里面没有 则在缓冲区里面也新建一个·
例如string s=“tt”
string s1=“tt” s等于s1
而 string s=new string(“ss”)
string s1=new string(“ss”) s不等于s1