java学习笔记(基础篇)—==与equals的区别
2019-08-16 10:38:28来源:博客园 阅读 ()
java学习笔记(基础篇)—==与equals的区别
目录
- ==与equals的区别
- 1.java数据类型分为:
- 2.对于"=="
- 3.对于"equals":
- 4.特殊情况:
- 5.关于重写equals
- 6.思考
==与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的实现源码。
原文链接:https://www.cnblogs.com/chlinlearn/p/11208765.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash