java -- ==與equals的區別

java的數據類型分爲兩種
1.基本數據類型:byte、char、long、int、float、double、boolean
它們之間的比較應該使用"==",比較的是它們的值。
2.複合數據類型:class 類名
類就是複合類型。 當用"=="比較它們的時候,實際上比較的是它們在內存中的存放地址,即棧中的值。所以,只有同一個new出來的對象它們用"=="比較是true,其餘的都爲false。
equals()比較的是堆中的值,即比較的是內容值。若是複合數據類型之間進行equals比較,在沒有覆寫equals的狀況下,比較的仍是棧中的值,即地址值。只有覆寫了hashcode與equals方法,才比較堆中的值。java

相關文章
相關標籤/搜索