java - JVM 在 Java 对象相等性 (==) 中检查什么?

标签 java

JVM 检查对象相等性 (==) 的内容是什么?是两个对象的 hashCode 还是其他东西?

最佳答案

== 运算符检查引用相等性。它不会调用对象上的任何方法...它只是检查涉及的两个引用是否相等,即它们引用同一个对象。

在简单的情况下,我相信这只是以按位方式比较引用的问题 - 检查它们是否包含相同的字节。对于更复杂的环境(例如 "compressed oops" ),为了比较不同的表示,可能需要稍微多一些的工作。但内部引用实际上是某种类型的指针,只需比较两个指针即可。

关于java - JVM 在 Java 对象相等性 (==) 中检查什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32241513/

相关文章:

java - Android 上拉伸(stretch)屏幕的问题

java - 如何修复 ic_launcher_foregorund.xml 意外标记和未找到顶级元素

java - openssl 的 "aes-256-cfb"的 Java 名称是什么?

java - 日期字段解析错误

java - Soap header (序言中出现意外的 EOF)

java - 为已有的 xls 文件创建密码

java - Java 中的模糊字符串搜索,包括单词交换

java - 将数据附加到属性文件,注释消失,数据顺序改变

java - 使用 RestTemplate 获取 InputStream

java - 创建 Java 翻转多米诺骨牌游戏