简单的说: 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