equal和==的区别是什么?

146 阅读1分钟

equal和==的区别是什么?

== 运算符

  • 用于比较基本类型的值是否相等。
  • 用于检查两个对象保存的地址是否指向同一个地址,是否是同一个实例。
  • 用于比较的两个对象必须是同一种类型,否则就会返回false

equals() 方法

  • 这是一个实例方法,最初定义在java.lang.Object类中。任何类都继承了这个方法,可以对其进行重写以提供基于对象内容的比较逻辑。
  • 用于比较两个对象的内容是否相同,如果两个对象具有相同的属性值,那么重写的 equals() 方法可以返回 true,即使这两个对象在内存中是独立的实例。
  • 默认的 equals() 方法实际上执行的是与 == 相同的操作——比较对象的引用。因此,如果不重写 equals() 方法,其行为将与 == 相同。