==: 基本資料型別比較的是是否相等;引用型別比較位址是否相同。
string str1= "jim";
string str2= "jim";
system.out.println(str1==str2);//比較位址,因為兩個變數都是常量池裡同乙個字串"jim",因此在棧裡儲存的相同的位址,輸出true
equals: object類中的equals比較的是位址是否相同;string類中重複寫了equals,比較兩個字串的內容是否相同。
string name1 = "tim";
string name2 = "tim";
system.out.println(name1.equals(name2));//比較內容是否相同
public boolean equals(object( name1) anobject)
if (anobject instanceof string)
return true;//不是string型別則直接結束}}
return false;
詳述 與equals的區別
1 在基本資料型別中比較值是否相等,在引用資料型別中比較位址是否相等。int a 12 int b 12 int c 3 system.out.println a b a與b值相同,結果為true system.out.println a c a與c值不同,結果為false string name1...
與equals的區別
注意 當比較兩個基本資料型別的變數是否相等時 基本資料型別包括 byte short int long float double 當它們的值相同時,則 結果就為true eg public class class6 1 public static void main string args stri...
與equals的區別
public class equaltest 執行結果為 t1 t2 false t1 t2 t3 true t3 t4 true i1.equals i2 false i3.equals i1 i2 true i3.equals i4 true st1 st2 false st1 st2 st3 ...