== 和 equals()的區別
阿新 • • 發佈:2022-03-28
== 的使用
== :運算子
1.可以使用在基本資料型別變數和引用資料型別變數中
2.如果比較的是基本資料型別變數:比較兩個變數儲存的資料是否相等。(不一定型別要相同)
如果比較的是引用資料型別變數:比較兩個物件的地址值是否相同,即兩個引用是否指向同一個物件實體
==符號使用時,必須保證符號左右兩邊的變數型別一致。
equals()方法的使用:
1.是一個方法,而非運算子
2.只能適用於引用資料型別
3.Object
類中equals()
的定義:
public boolean equals(object obj) {
return (this ==obj);
}
說明: Object
equals()
和==的作用是相同的:比較兩個物件的地址值是否相同,即兩個引用是否指向同一個物件實體4.像
String、Date、File
包裝類等都重寫了Object
類中的equals()
方法。重寫以後,比較的不是兩個引用的地址是否相同,而是比較兩個物件的"實體內容"是否相同。5.通常情況下,我們自定義的類如果使用
equals( )
的話,也通常是比較兩個物件的"實體內容"是否相同。那麼,我們就需要對Object
類中的equals()
進行重寫。重寫的原則:比較兩個物件的實體內容是否相同。