Unterschied zwischen ArrayIndexOutOfBoundsException und IndexOutOfBoundsException?

8

In welchen Anwendungsfällen sollten wir ArrayIndexOutOfBoundsException

verwenden?

und IndexOutOfBoundsException übereinander.

    
quintin 14.12.2015, 11:41
quelle

4 Antworten

14

IndexOutOfBoundsException : Wird ausgelöst, um anzuzeigen, dass es sich um einen Index irgendeiner Art handelt (z. B. zu einem Array, zu einer Zeichenfolge oder zu einem Vektor) liegt außerhalb des Bereichs.

ArrayIndexOutOfBoundsException , StringIndexOutOfBoundsException   sind zwei Klassen, die IndexOutOfBoundsException implementiert haben.

ArrayIndexOutOfBoundsException : Wird ausgelöst, um anzuzeigen, dass auf ein Array zugegriffen wurde mit einem illegalen Index. Der Index ist entweder negativ oder größer als oder gleich der Größe des Arrays.

StringIndexOutOfBoundsException : Wird von String-Methoden ausgelöst, um einen Index anzugeben ist entweder negativ oder größer als die Größe der Zeichenfolge. Bei einigen Methoden wie der charAt-Methode wird diese Ausnahme ebenfalls ausgelöst, wenn der Index der Größe der Zeichenfolge entspricht.

    
Ravindra babu 14.12.2015 11:54
quelle
4

IndexOutOfBoundsException ist die Oberklasse von ArrayIndexOutOfBoundsException (wird beim Zugriff auf einen ungültigen Index in einem Array ausgegeben) und StringIndexOutOfBoundsException (wird beim Zugriff auf einen ungültigen Index in einem String ausgelöst).

Instanzen der Basisklasse IndexOutOfBoundsException selbst werden beim Zugriff auf ungültige Indizes von Listen ausgelöst.

Das Javadoc einiger Methoden, die IndexOutOfBoundsException oder seine Unterklassen ausgeben, enthält die Basisklasse. Zum Beispiel wird String.charAt so dokumentiert, dass IndexOutOfBoundsException geworfen wird, wenn tatsächlich die Unterklasse StringIndexOutOfBoundsException ausgelöst wird.

    
Eran 14.12.2015 11:45
quelle
0

ArrayIndexOutOfBoundsException gibt den ungültigen Index in seiner Nachricht an.

    
user1326628 14.12.2015 11:46
quelle
0

Wenn Sie die Grenzen für ein Array oder String überschreiten, erhalten Sie im Grunde die ArrayIndexOutOfBoundsException oder die StringIndexOutOfBoundsException. Für eine LinkedList oder eine andere Collection erhalten Sie jedoch die allgemeinere IndexOutOfBoundsException.

    
XcodeNOOB 09.06.2016 09:03
quelle