请问下 equals与==的区别

一叶知秋 分类:java

如题:equals与==的区别

回复

共1条回复 我来回复
  • Java实验室
    Java实验室
    【Java实验室】JAVA入门教程,springboot基础教程,springcloud,jvm学习交流平台,项目驱动交流学习,专注Java、springboot、springcloud、jvm、javaweb、j2ee开发等方向,誓做java交流沟通平台的拓荒者。
    评论

    ==常用于比较原生类型,而equals()方法用于检查对象的相等性。另一个不同的点是:如果==和equals()用于比较对象,当两个引用地址相同,== 返回true。而equals()可以返回true或者false主要取决于重写实现。最常见的一个例子,字符串的比较,不同情况 == 和equals()返回不同的结果。

    ==表示的是比较两个对象实例的内存地址是否相同。如果不重写equal(),就和==等效,

    相等(相同)的对象必须具有相等的哈希码(或者散列码)。
    如果两个对象的hashCode相同,它们并不一定相同。
    术语来讲的区别:

    • ==是判断两个变量或实例是不是指向同一个内存空间。
      equals是判断两个变量或实例所指向的内存空间的值是不是相同。
    • ==指引用是否相同
      equals()指的是值是否相同
    9个月前 0条评论
关注我们