首先一定要明确 "==" 号的作用,"=="号比较基本类型时,比较的是值,比较引用类型时,比较的是地址。
创建String类型的对象时,需要注意会创建对象的方式不同,创建的对象所在的地址空间可能会不同。
例如:
String str1 = "abc";
String str2 = "abc";
String str3 = new String("abc");
String str4 = new String("abc");
虽然创建的对象看似都"一样"。
但是:
public static void main(String[] args){
System.out.println(str1 == str2); //true
System.out.println(str1 == str3); //false
System.out.println(str3 == str4); //false
System.out.println(str1.equals(str2)); //true
System.out.println(str1.equals(str3)); //true
System.out.println(str3.equals(str4)); //true
}