-3
我讀了在Java中,爲什麼在比較可變對象時建議使用equals()?
通常我們使用equals()方法比較不可變對象,其中==用於可變對象
我知道== equals和」之間的區別「,但爲什麼它優先使用等於不可變對象?以及爲什麼使用「==」表示可變對象?因爲在我的邏輯中,當我想比較兩個對象(比較狀態,而不是標識)時,爲什麼不推薦使用equals()?
我讀了在Java中,爲什麼在比較可變對象時建議使用equals()?
通常我們使用equals()方法比較不可變對象,其中==用於可變對象
我知道== equals和」之間的區別「,但爲什麼它優先使用等於不可變對象?以及爲什麼使用「==」表示可變對象?因爲在我的邏輯中,當我想比較兩個對象(比較狀態,而不是標識)時,爲什麼不推薦使用equals()?
equals
是總是用於比較對象所持有的值。它用於比較不可變對象的值,例如String
或Integer
或可變對象,如List
或Map
等等。
當涉及使用equals
來比較兩個對象的相等性時,不存在可變或不可變對象的問題。
另一方面,==
符號純粹比較兩個引用是否相同或指向相同的對象。
希望這有助於!
你在哪裏讀到的? – ByeBye
是的,這是完整的BS。你應該更加小心你閱讀的內容。很顯然,如果你沒有看到你寫的東西有什麼問題,你就不會理解'=='和'equals()'之間的區別。 – Kayaman
當與對象一起使用時,'=='比較**引用**。無論對象是可變還是不可變 –