String s1 = "abc"; // s1 指向 静态区中的 "abc"地处
String s2 = "abc"; // s2 也指向 静态区中的 "abc"地处 因为 在静态区中 已经有 "abc"地处,就不会在开辟 "abc"地处。
// 所以 s2 和 s1指向了 同一个"abc" String s2 = "abc" 相当于 String s2 = s1
System.out.println(s1 == s2);
结果显示true
String s1 = new String("abc"); //new String("abc") 是在 内存 堆 中开辟的 一块新空间
String s2 = new String("abc"); //new String("abc") 是在 内存 堆 中开辟的 一块新空间
System.out.println(s1 == s2); //他们 指向的 不是同一地址 , 结果当然返回false
|