- "=="比较基本数据类型时比较的是表面值内容,而比较两个对象时比较的是两个对象的内存地址值
其实很好理解啦, == 就是比较两个变量直接存储 的值。
基本数据类型的变量直接存储数据
引用类型的数据,存储的是地址值,由地址值指向具体值
所以,== 比较两个变量最表层的值
- 对于equals方法,注意:equals方法不能作用于基本数据类型的变量
如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容
这样理解,equals 方法分为两种情况
- 没被重写:对引用类型进行表层比较,即比较器存放的地址值(相当于 ==,区别是不能比较基本数据类型变量)
- 重写:那当然得看具体怎么重写的咯,只需要记住String,Data 类对 equals 方法重写,比较的是对象的内容