簡單的說: Java把內存劃分紅兩種:一種是棧內存,一種是堆內存。java
int a = 3; int b = 3;
String str1 = "abc"; String str2 = "abc"; System.out.println(str1==str2); //true
String str1 = "abc"; String str2 = "abc"; str1 = "bcd"; System.out.println(str1 + "," + str2); //bcd, abc System.out.println(str1==str2); //false
String str1 = "abc"; String str2 = "abc"; str1 = "bcd"; String str3 = str1; System.out.println(str3); //bcd String str4 = "bcd"; System.out.println(str1 == str4); //true
String str1 = new String("abc"); String str2 = "abc"; System.out.println(str1==str2); //false
String str1 = "abc"; String str2 = new String("abc"); System.out.println(str1==str2); //false