risposta

4

IndexOutOfBoundsException è la super classe di ArrayIndexOutOfBoundsException (generata quando si accede a un indice non valido in una matrice) e StringIndexOutOfBoundsException (generata quando si accede a un indice non valido in una stringa).

Le istanze della classe base IndexOutOfBoundsException vengono generate quando si accede a indici di elenchi non validi.

Il Javadoc di alcuni metodi che generano IndexOutOfBoundsException o le sue sottoclassi contiene la classe base. Ad esempio, è documentato che String.charAt sta lanciando IndexOutOfBoundsException quando effettivamente lancia la sottoclasse StringIndexOutOfBoundsException.

0

ArrayIndexOutOfBoundsException indica l'indice illegale nel suo messaggio.

+2

E 'IndexOutOfBoundsException' no? – Tom

13

IndexOutOfBoundsException: generato per indicare che un indice di qualche tipo (ad esempio un array, una stringa o un vettore) non è compreso nell'intervallo.

ArrayIndexOutOfBoundsException, StringIndexOutOfBoundsException sono due classi, che hanno implementato IndexOutOfBoundsException.

ArrayIndexOutOfBoundsException: generato per indicare che è stato effettuato l'accesso a un array con un indice illegale. L'indice è negativo o maggiore o uguale alla dimensione dell'array.

StringIndexOutOfBoundsException: generato con metodi String per indicare che un indice è negativo o maggiore della dimensione della stringa. Per alcuni metodi come il metodo charAt, questa eccezione viene generata anche quando l'indice è uguale alla dimensione della stringa.

0

In pratica, se si esce dai limiti per un array o una stringa, si otterrà ArrayIndexOutOfBoundsException o StringIndexOutOfBoundsException. Per una lista Linked però o qualche altra raccolta, otterrai la più generale IndexOutOfBoundsException.