equals和==的區別是功能不同,定義不同,運行速度不同。
1、功能不同
"=="是判斷兩個變量或實例是不是指向同壹個內存空間。
"equals"是判斷兩個變量或實例所指向的內存空間的值是不是相同。
2、定義不同
"equals"在JAVA中是壹個方法。
"=="在JAVA中只是壹個運算符合。
3、運行速度不同
"=="比"equals"運行速度快,因為"=="只是比較引用。
"equals"比"=="運行速度要慢。
equals和==簡介:
==既可以比較基本類型也可以比較引用類型 ,對於基本類型就是比較值,對於引用類型比較的就是內存地址,equals是屬於java.lang.Ojbect類裏的方法,如果該方法沒有被重寫過,默認也是==。
我們可以看到string類的equals方法是被重寫過的,而且string類在日常開發中用的比較多,久而久之,就形成了equals是比較值得錯誤觀點,具體要看這裏有沒有重寫Ojbect的hashCode方法和equals方法來判斷。