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