java中的Equals和==

java中的Equals和==

java中的數據類型,可分爲兩類:

  1. 基本數據類型:包括了byte,int,char,long,float,double,boolean,short,他們之間的比較,應用雙等號(==),比較的是他們的值。因爲它們不是對象,所以沒有equals方法。
  2. 複合數據類型:即是對象的引用
    • 使用==比較:比較的是他們在內存中的存放地址,所以,如果他們的引用指向堆中的同一個對象實例,他們的比較後的結果爲true,否則比較後結果爲false。
    • 使用equals比較:java當中所有的類都是繼承於Object這個基類的,在Object中的基類中定義了一個equals的方法,這個方法的初始行爲是比較對象的內存地址,但在一些類庫當中這個方法被覆蓋掉了,如String,Integer,Date在這些類當中equals有其自身的實現,而不再是比較類在堆內存中的存放地址了。(String用euqals可以直接比較值)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章