1)对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址 注意:java 8 种基本数据类型的引用(变量) 直接存储的是“值”而不是地址: Int i = 8;// I 存储的是8这个值 所以对于 == 号可以直接理解为比较引用的地址值,因为基本数据类型的引用不存储地址值,所以直接比较值。 2)对于equals方法,
- 对于重写了equals方法的类:如String、Date、Integer 比较的是引用所指对象的内容是否相等,
- 对于没有重写equals方法的类,则默认按照Object类中equals方法的定义:return this==obj: 比较引用类型所指对象的地址值是否相等
- 注意:equals方法不能作用于基本数据类型的变量
|