一、Object的解析
1.特点
Object是所有类的父类。Object可以可以代表任何的数据类型
2.Object.equals
Object中的equals方法是比较2个对象之间的内存地址是否相同,相同的话返回
二、String.equals解析
1.特点
String类中将继承自Object的equals方法进行重写,用于判断2个String对象的内容
2.String.equals源码解析
代码流程:1.判断2个对象的内存地址是否相同,相同直接返回true
2.判断传入对象的数据类型是否为String
3.判断2者的字符长度是否相同
4.判断2者字符的内容是否相同,相同输出true,否则输出false
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}//1.判断调用方和传入对象的内存地址是否相同
//2.instanceof判断传入的对象类型是否属于String类型
if (anObject instanceof String) {
/*3.因为传入参数是Object类型的,也就是多态Object引用String对象
如果需要调用子类对象独有的方法,需要强转成String类型*/
String anotherString = (String)anObject;
//4.value是一个char类型的数组