“==”和equals的區別 首先我們應該知道的是: “==”是運算符,如果是基本數據類型,則比較存儲的值;如果是引用數據類型,則比較所指向對象的地址值。 equals是Object的方法,比較的是所指向的對象的地址值,一般情況下,重寫之後比較的是對象的值。 一、對象類型不同 1、equals(): ...
“==”和equals的區別
首先我們應該知道的是:
- “==”是運算符,如果是基本數據類型,則比較存儲的值;如果是引用數據類型,則比較所指向對象的地址值。
- equals是Object的方法,比較的是所指向的對象的地址值,一般情況下,重寫之後比較的是對象的值。
一、對象類型不同
1、equals():是超類Object中的方法。
2、==:是操作符。
二、比較的對象不同
1、equals():用來檢測兩個對象是否相等,即兩個對象的內容是否相等。
2、==:用於比較引用和比較基本數據類型時具有不同的功能,具體如下:
(1)、基礎數據類型:比較的是他們的值是否相等,比如兩個int類型的變數,比較的是變數的值是否一樣。
(2)、引用數據類型:比較的是引用的地址是否相同,比如說新建了兩個User對象,比較的是兩個User的地址是否一樣。
三、運行速度不同
1、equals():沒有==運行速度快。
2、==:運行速度比equals()快,因為==只是比較引用。