1. 程式人生 > >String類重寫的equals()方法

String類重寫的equals()方法

public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String)anObject;
        int n = value.length;
        if (n == anotherString.value.length) {
            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;
}

內部實現分為三個步驟:先比較引用是否相同(是否為同一物件),再判斷型別是否一致(是否為同一型別),最後比較內容是否一致。