首先,我们只需要看Object中的equals 方法写的是啥
很显然,就是一句话,“==” 与 equals方法作用完全一致。
都是用来比较在内存的首地址,即用来比较两个引用变量是否指向同一个对象。
那么为什么网上那么多教程都写的那么多呢,还区分什么String类型StringBuffer对象,其他对象。
我们继续去看源码,String类的equals 方法写的啥
与Object的equals方法完全不一样,String类重写了Object的equals方法,再看内容就是两部分
1、还是“==”;
2、转为String类后字符数组完全相等,也就是说字符串内容完全相同。
因为重写了equals方法,所以String类的“==” 与 equals 就有区别了,所以equals 的比较就变成了:比较要么完全相等,要么字符串内容一致。
以上内容总结两句话:
1、“==” 与 equals方法作用完全一致,都是用来比较在内存的首地址,即用来比较两个引用变量是否指向同一个对象。
2、String类由于重写了equals方法,所以String类的equals 的比较就变成了:比较要么完全相等,要么字符串内容一致。
标签:String,要么,Object,equals,简化,易懂,方法,比较 From: https://www.cnblogs.com/xiaro115/p/17222785.html