04 和equals的區別

2021-10-02 23:39:22 字數 1003 閱讀 4633

== 比較的是值

比較基本的資料型別,比較的是數值

equals

預設比較也是位址,因為這個方法的最初定義在object上,預設的實現就是比較位址

public boolean equals(object obj)
自定義的類,如果需要比較的是內容,那麼就要學string,重寫equals方法

**案例:測試以下的每道題,你是否能夠正確得到答案?

string s1 = new string("zs");

string s2 = new string("zs");

system.out.println(s1 == s2);

string s3 = "zs";

string s4 = "zs";

system.out.println(s3 == s4);

system.out.println(s3 == s1);

string s5 = "zszs";

string s6 = s3+s4;

system.out.println(s5 == s6);

final string s7 = "zs";

final string s8 = "zs";

string s9 = s7+s8;

system.out.println(s5 == s9);

final string s10 = s3+s4;

system.out.println(s5 == s10);

//false

//true

//false

//false string不可變,s3+s4 建立新物件,相當於new一下

//true s7、s8常量,常量相加,編譯器優化後也為常量

//false s3+s4 建立新物件,相當於new一下

Equals 和 的區別

對於值型別,如果物件的值相等,則相等運算子 返回 true,否則返回 false。對於string 以外的引用型別,如果兩個物件引用同乙個物件,則 返回 true。對於 string 型別,比較字串的值。操作比較的是兩個變數的值是否相等。equals 方法比較的是兩個物件的內容是否一致 equals...

equals 和 的區別

equals 方法 是string類從它的超類object中繼承的 被用來檢測兩個物件是否相等,即兩個物件的內容是否相等。用於比較引用 和 比較基本資料型別時具有不同的功能 1.比較基本資料型別,如果兩個值相同,則結果為true 2.而在比較引用時,如果引用指向記憶體中的同一物件,結果為true s...

和equals的區別

和 equals 的區別 1.是乙個運算子。2.equals則是string物件的方法,可以.點 出來。我們比較無非就是這兩種 1 基本資料型別比較 2 引用物件比較 1 基本資料型別比較 和equals都比較兩個值是否相等。相等為true 否則為false 2 引用物件比較 和equals都是比較...