26.String类(1)

1. 下面是一个使用equals的例子:

  

  我查看了一下源代码,string类中equals方法的源代码如下:   

public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String)anObject;
        int n = count;
        if (n == anotherString.count) {
        char v1[] = value;
        char v2[] = anotherString.value;
        int i = offset;
        int j = anotherString.offset;
        while (n-- != 0) {
            if (v1[i++] != v2[j++])
            return false;
        }
        return true;
        }
    }
    return false;
    }

  我感觉疑问的是这个不是接受的是一个对象吗?为什么我可以传入一个变量呢?(下面是百度所获得的答案)

  

   注意:推荐写equals进行字符串比较,不要写“==”(string类重写了Object的equals方法,比较的是两个变量的内容)

原文地址:https://www.cnblogs.com/zjdbk/p/8910119.html