equals和 的區別,面試就該這麼答。

2021-10-23 06:14:45 字數 516 閱讀 1806

1)對於==,比較的是值是否相等

如果作用於基本資料型別的變數,則直接比較其儲存的 「值」是否相等;

如果作用於引用型別的變數,則比較的是所指向的物件的位址

2)對於equals方法,注意:equals方法不能作用於基本資料型別的變數,所有的類繼承object類的equals方法,比較的是是否                   是同乙個物件,object類中equals方法

public boolean equals(object obj) {

return (this == obj);

也就是說,equals本身和==沒有區別,對於基本資料都是比較值,對於物件都是比較是否為記憶體位址,其他類在繼承                       object類之後對equals方法重寫,所以表現的是比較裡面的內容.....

如果沒有對equals方法進行重寫,則比較的是引用型別的變數所指向的物件的位址;

諸如string、date等類對equals方法進行了重寫的話,比較的是所指向的物件的內容。

來這能知道equals 方法和 的區別

public static void main string args 內容一 使用 比較 a,b,c都是基本資料型別 如果比較的是基本資料型別變數,那麼比較的是這兩個變數儲存的資料是否相同。不一定型別要相同,因為有自動型別提公升 內容二 使用 比較 s1,s2,s3都是引用資料型別 如果比較的是引...

面試題 equals 和 區別

可以使用在基本資料型別變數和引用資料型別變數中 如果比較的是基本資料型別變數 比較兩個變數儲存的資料是否相等。不一定型別要相同 如果比較的是引用資料型別變數 比較兩個物件的位址值是否相同.即兩個引用是否指向同乙個物件實體,補充 符號使用時,必須保證符號左右兩邊的變數型別一致。是乙個方法,而非運算子 ...

Equals 和 的區別

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