java中 和equals的區別

2021-09-20 06:06:04 字數 600 閱讀 5619

== 和 equals 都是比較是否相等,請問它們到底有什麼區別呢?

相等 : a 傳統的理解一般都是數字值是否相等;

b 在程式中任何東西都是資料,都會比較是否相等[ 物件 ]

== 比較運算子

1)基本資料型別變數: 比較的就是值是否相等;

2)引用資料型別變數: 比較的是物件的位址是否一樣;(排除特殊 string)

equals 方法[最初定義在根類object中的,比較物件是否相等]方法裡面 ==

基本資料型別 : 不能夠使用! 基本資料型別不是物件,不能夠呼叫object中的方法

引用資料型別 : 但是在object的原始碼中定義的就是 == 進行比較比較

4.定義好的類沒有覆寫過equals方法,則會直接呼叫到了object中的equals方法,那麼本質還是在使用比較

5.在實際開發中,自定義類:一般比較物件,都是通過物件的屬性值進行比較,所以自定義類,會經常覆在自定義的類中寫object中的此方法,把自己的比較規則寫在方法裡面;

6.覆寫equals方法的意義:定義類,覆寫equals方法,自己制定規則,比較自定義類物件的靜態屬性

小結 : 比較基本資料型別: 比較物件用 equals方法

java中 和 equals區別

是比較2個物件是否相等,物件包括基本型別的變數和引用型別變數 object類是所有類的父類 並且 equals是其中的方法 所以說 和equals 本質上都是一樣的 object 類中的equals 方法是 public boolean equals object o return this o 其...

Java中 和equals 的區別

1.用於比較引用資料型別和比較基本資料型別時具有不同的功能 比較基本資料型別,如果兩個值相同,則結果為true。eg package demo public class demo boolean compare int x int y else return false 這段 返回false。而在比...

Java中 和equals的區別

我們在寫程式的過程中,判斷會將兩個物件進行對比。比如拿字串來說吧!string hello hello string greeting hello string str new string hello system.out.println hello.equals greeting hello.e...