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