與equals的區別

2021-05-21 19:01:04 字數 972 閱讀 1390

注意:當比較兩個基本資料型別的變數是否相等時(基本資料型別包括:byte short int long float double),當它們的值相同時,則

結果就為true

eg:    public class class6_1

public static void main(string args)

string s1=new string("abc");

string s2=new string("abc");

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

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

system.out.println("****************");

s1=s2;

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

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

執行以後的結果為

false

true

true

true

注意:equals方法最初是在object類(該類是所有類的父類)中定義的方法  只不過是string類在其內部重寫了該方法而已

在object類中定義的equals方法是直接使用"=="比較兩個物件的 所以在沒有重寫該方法的情況下  equals方法與==

一樣是比較兩個物件的引用的

與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 ...

與 equals的區別

與equals都是比較兩個變數得到true或false。在進行比較時,先說說記憶體,記憶體分為堆和棧。基本資料型別中,是把值存在棧中,把值傳遞給變數,這種傳遞叫值傳遞。引用資料型別中,是在棧中存位址,堆中存的new的物件,給變數賦值傳遞時,傳的是位址,這種傳遞叫引用傳遞。基本資料型別 int a 1...

equals與 的區別

equals 對於沒有重寫equals 方法的物件來說,與 相同,類似string integer重寫了equals方法的比較的是值 而 是比較兩個物件的位址 例如 string a 123 string b 123 string c new string 123 system.out.printl...