前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java学习笔记(基础篇)—==与equals的区别

java学习笔记(基础篇)—==与equals的区别

作者头像
chlinlearn
发布2019-07-24 10:56:55
2660
发布2019-07-24 10:56:55
举报
文章被收录于专栏:java老实人java老实人

==与equals的区别

1.java数据类型分为:

​ 基本数据类型 ​ 引用数据类型

2.对于"=="

​ 用于基本数据类型相互比较. 比较二者的值是否相等 ​ 用于引用数据类型相互比较. 比较二者地址是否相等 ​ 不能用于基本数据类型与引用型比较

3.对于"equals":

​ 不能用于基本数据类型比较(因为这是一个方法, 继承自object). ​ 用于进行对象的比较, 比较二者的引用地址是否相同

4.特殊情况:

​ 1)数值型基本类型和数值型类会存在自动装箱和自动拆箱 ​ 2)字符串会以常量形式存在, 如果多个字符串变量值相同, 他们指向同一个地址,String类重写了equals()方法,比较的是内容是否相等。 ​ 3)数值类型会存在类型自动转换

5.关于重写equals

​ 1)判断该对象是否是其本身:this==obj ​ 2)判断该对象是否为空:obj==null ​ 3)判断该对象是否和其属于同一类型:obj instanceof ** 或者 obj.getClass == *.class ​ 4)逐一比较,如全相同则是相等

6.思考

​ 如果是HashMap又要如何重写呢?如何判断里面存储的对象是否相等?参考HashSet的实现源码。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ==与equals的区别
  • 1.java数据类型分为:
  • 2.对于"=="
  • 3.对于"equals":
  • 4.特殊情况:
  • 5.关于重写equals
  • 6.思考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档