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; }

 

posted @ 2020-12-10 13:07  行路读书爱人i  阅读(546)  评论(0编辑  收藏  举报