String.equals()方法

public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {            //字符串是一个引用数据类型,本身是String对象
                                                //先判断anObject是不是String类的一个实例,如果是运行下边的语句
        String anotherString = (String)anObject;//在这里把传进来的anObject这个对象,赋给anotherString (需要类型转换)
        int n = count;                          //这个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++])             //在遍历的过程中如果有不同的就返回false
            return false;
        }
        return true;
        }
    }
    return false;
    }
posted @ 2015-10-20 18:04  梦玄庭  阅读(2633)  评论(0编辑  收藏  举报