黑马程序员技术交流社区
标题: [成都校区] == 和 equals 的异同 [打印本页]
作者: zhanglei_ 时间: 2019-6-5 15:02
标题: [成都校区] == 和 equals 的异同
1)对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;
如果作用于引用类型的变量,则比较的是所指向的对象的地址
注意:java 8 种基本数据类型的引用(变量) 直接存储的是“值”而不是地址:
Int i = 8;// I 存储的是8这个值
所以对于 == 号可以直接理解为比较引用的地址值,因为基本数据类型的引用不存储地址值,所以直接比较值。
2)对于equals方法,
- 对于重写了equals方法的类:如String、Date、Integer 比较的是引用所指对象的内容是否相等,
- 对于没有重写equals方法的类,则默认按照Object类中equals方法的定义:return this==obj: 比较引用类型所指对象的地址值是否相等
- 注意:equals方法不能作用于基本数据类型的变量
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |