長篇大論的話,我這里就不多寫了,相信大家入門java 的時候就知道個大概了,這里想表述的是,如果面試官問你《關於==和equals的區別》,該怎么回答完美呢?可以這樣說
總結的來說:
1)對於==,比較的是值是否相等
如果作用於基本數據類型的變量,則直接比較其存儲的 “值”是否相等;
如果作用於引用類型的變量,則比較的是所指向的對象的地址
2)對於equals方法,注意:equals方法不能作用於基本數據類型的變量,equals繼承Object類,比較的是是否是同一個對象
如果沒有對equals方法進行重寫,則比較的是引用類型的變量所指向的對象的地址;
諸如String、Date等類對equals方法進行了重寫的話,比較的是所指向的對象的內容。