Преобразование типов в методе String равно в Java - PullRequest
0 голосов
/ 01 октября 2019

Я смотрю на класс Java 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;
}

Мне интересно, зачем нужен String anotherString = (String)anObject;. И, кроме того, если это не удастся, то когда произойдет сбой преобразования типа, во время компиляции или во время выполнения?

...