java語言的==和equals 你真的知道用法區別嗎
在java語言中,數據分為基本數據類型和引用數據類型。基本數據類型存儲在棧內存,引用數據類型的引用(就是變量的地址)存儲在堆內存。
其實本質上equals 和 == 是一樣的,equals的底層源碼也是用的==,都是比較變量的引用,只不過對於字符串來說,equals被重寫了。
== 是對兩個變量的引用進行判斷是否相等,就是判斷兩個變量指向的內存空間地址是否相同。是對地址的比較。
equals 是判斷兩個變量指向的內存空間的值是不是相同,是對值的比較。