您当前的位置:首页 > 计算机 > 编程开发 > Java

equals()方法与“==“的区别

时间:08-28来源:作者:点击数:

equals()方法

若一个类中,没有重写equals()方法,那么,该类会直接继承Object中的equals()方法

Object类中的equals()方法比较的是两个对象的地址是否相等,底层使用是==号进行比较

但是用equals()来比较地址的功能,一般不常用,若要对比两个引用类型的数据的地址,一般直接使用==进行比较

自定义类我们常会对equals()进行重写,重写后equals()是比较两个对象中的内容是否相等

在IDEA中可以用快捷键快速重写equals()方法,

快捷键为:Alt + Insert,在弹出的对话框中选择equals() and hashCode()这一项即可

==

  • 若 == 两边为基本数据类型
    此时 == 是对左右两边的数据的内容进行比较,
  • 若 == 两边为基本数据类型
    此时 == 是对左右两边的数据的地址进行比较

区别

== 是比较运算符,既可以比较基本类型的数据,也可以比较引用类型的数据

比较基本类型的数据,比较的是是否相等

比较引用类型的数据,比较的是地址值是否相等

equals()是一个方法只能比较引用类型的数据,不能比较基本类型的数据

比较引用类型的数据,默认比较的是地址值

但是一般都会重写equals方法,比较的就是对象中的内容是否相等

例如:String就重写了equals方法,比较的是两个字符串对象的内容是否相等

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门