gpt4 book ai didi

java - 两个 Java 运算符之间的区别 : ! = vs !equals

转载 作者:搜寻专家 更新时间:2023-11-01 01:09:13 25 4
gpt4 key购买 nike

是这段代码吗:

elem1!=elem2

相当于这个吗?

!elem1.equals(elem2)

它可以两种方式编译,但我仍然不确定...

最佳答案

==(以及扩展名 !=)检查对象身份,也就是说,如果两个对象都引用同一个实例。 equals 检查更高级别的身份概念,通常是对象的“值”是否相等。这意味着什么取决于在该特定对象上实现 equals 的人。因此它们不是一回事。

这两个不是同一事物的常见示例是字符串,其中两个不同的实例可能具有相同的内容(相同的字符串),在这种情况下 == 比较是错误的但是 equals 返回 true。

equals(在 Object 上)的默认实现在内部使用 ==,因此对于不覆盖的对象,结果将相同等于(当然不包括空值)

关于java - 两个 Java 运算符之间的区别 : ! = vs !equals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5843055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com