Почему assert используется в методе Integer.valueOf класса Integer?

Я копался в том, какInteger класс на самом деле использует кэшированные объекты, и я нашел следующий код вInteger.valueOf метод:

public static Integer valueOf(int i) {
    assert IntegerCache.high >= 127;
    if (i >= IntegerCache.low && i <= IntegerCache.high)
        return IntegerCache.cache[i + (-IntegerCache.low)];
    return new Integer(i);
}

Мой вопрос:

какая польза отassert IntegerCache.high >= 127; Я прочитал этоAssert предоставляет эффективный способ обнаружения и исправления ошибок программирования, Но это код времени выполнения, так зачем кому-то использовать assert?И когда это броситAssertionError по этому сценарию?

Ответы на вопрос(4)

Ваш ответ на вопрос