-3
我读了在Java中,为什么在比较可变对象时建议使用equals()?
通常我们使用equals()方法比较不可变对象,其中==用于可变对象
我知道== equals和”之间的区别“,但为什么它优先使用等于不可变对象?以及为什么使用“==”表示可变对象?因为在我的逻辑中,当我想比较两个对象(比较状态,而不是标识)时,为什么不推荐使用equals()?
我读了在Java中,为什么在比较可变对象时建议使用equals()?
通常我们使用equals()方法比较不可变对象,其中==用于可变对象
我知道== equals和”之间的区别“,但为什么它优先使用等于不可变对象?以及为什么使用“==”表示可变对象?因为在我的逻辑中,当我想比较两个对象(比较状态,而不是标识)时,为什么不推荐使用equals()?
equals
是总是用于比较对象所持有的值。它用于比较不可变对象的值,例如String
或Integer
或可变对象,如List
或Map
等等。
当涉及使用equals
来比较两个对象的相等性时,不存在可变或不可变对象的问题。
另一方面,==
符号纯粹比较两个引用是否相同或指向相同的对象。
希望这有助于!
你在哪里读到的? – ByeBye
是的,这是完整的BS。你应该更加小心你阅读的内容。很显然,如果你没有看到你写的东西有什么问题,你就不会理解'=='和'equals()'之间的区别。 – Kayaman
当与对象一起使用时,'=='比较**引用**。无论对象是可变还是不可变 –