String.equals()解析
//object的equals方法是比较的对象的内存地址,而String的equals方法比较的是对象的值
//String中的equals()方法
public boolean equals(Object anObject) {
//首先 我们知道 引用类型 == 比较的是两个对象的内存地址 此处即理解为 若对比的两个对象内存地址相等 即值相等 直接返回 true if (this == anObject) { return true; }
//判断入参是否为String类型实例 if (anObject instanceof String) {
//转为String String anotherString = (String)anObject;
//value 为调用此方法的实例 获取value的长度 int n = value.length;
//判断 调用的实例和入参参数长度是否一致 if (n == anotherString.value.length) {
//将调用实例和入参实例转换为char数组 char v1[] = value; char v2[] = anotherString.value; int i = 0;
//依次判断每个字符的编码是否一致 while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }