Страницы

Поиск по вопросам

пятница, 20 декабря 2019 г.

В чем разница между ArrayIndexOutOfBoundsException и IndexOutOfBoundsException?

#java #исключения


В чем разница между ArrayIndexOutOfBoundsException и IndexOutOfBoundsException?
    


Ответы

Ответ 1



Если обратиться к официальной документации этих исключений и попробовать их сравнить: ArrayIndexOutOfBoundsException Thrown to indicate that an array has been accessed with an illegal index. The index is either negative or greater than or equal to the size of the array. и IndexOutOfBoundsException: Thrown to indicate that an index of some sort (such as to an array, to a string, or to a vector) is out of range. Applications can subclass this class to indicate similar exceptions. То можно сказать, что первое исключение возникает в момент обращение к массиву с некорректным индексом, т.е. например, array[-1]. А второе возникает, если происходит попытка обратиться к какой то коллекции, с некорректным индексом. Т.е. подразумевается какая то проверка на корректность индекса в какой то структуре данных, помимо массива, в результате которой и возбужается IndexOutOfBoundsException

Ответ 2



ArrayIndexOutOfBoundsException - обращение к несуществующему индексу массива. Например, попытка взять значение array[5] из массива int[4]. IndexOutOfBoundsException - попытка использования несуществующего индекса, например, при выделении подстроки substring(2,6) из строкового значения string длиной 4 символа.

Комментариев нет:

Отправить комментарий