java中equal與==的區別

來源:酷知科普網 2.86W

介紹一下java中==和equals方法的區別。在初學java時需要弄清楚這個問題,以免在今後在編碼過程中出現一些低階錯誤。

操作方法

(01)首先,在eclipse中執行圖示所示程式碼,通過結果對“==”與equals()方法就行分析比較,結果如圖所示。

java中equal與==的區別

(02)通過結果,關係操作符“==”可以做出如下總結:(1)對於基本資料型別:“==”根據基本資料型別的值判斷是否相等,相等返回true,反之返回false。注意:兩端資料型別可以不同,在不同的情況下也可以返回true;(2)引用資料型別:“==”比較的是引用型別變數的地址值是否相等,相等返回true,反之false。

(03)equals()方法總結如下:(1)equals方法是基類Object中的方法(Object類是所有java類的根父類),因而只能處理引用型別變數;(2)如圖所示,通過檢視原始碼,在Object類,發現equals()仍然比較的是兩個引用變數的地址值是否相等,相等則返回true,反之false;(3)如圖所示,像String 包裝類 Flie類 Date類這些類重寫了Object類的equals()方法,比較是兩個物件的“實體內容”是否完全相同,相同則返回true,反之false。

java中equal與==的區別 第2張
java中equal與==的區別 第3張
熱門標籤