Heim > Java > javaLernprogramm > Hauptteil

Lösung für die Java-Datenindex-Ausnahme (IndexOutOfBoundsException)

王林
Freigeben: 2023-08-18 22:48:33
Original
6743 Leute haben es durchsucht

Lösung für die Java-Datenindex-Ausnahme (IndexOutOfBoundsException)

Lösung für die Java-Datenindex-Ausnahme (IndexOutOfBoundsException)

Einführung:
Wenn in der Java-Programmierung auf ein nicht vorhandenes Array-Element zugegriffen wird oder der Index der Sammlung außerhalb des gültigen Bereichs liegt, wird eine IndexOutOfBoundsException-Ausnahme ausgelöst. Dies ist ein häufiger Fehler, dem viele Anfänger oft begegnen. In diesem Artikel wird erläutert, wie Sie die IndexOutOfBoundsException-Ausnahme mit einigen einfachen Lösungen vermeiden und lösen können.

  1. Falsche Indexberechnung
    Zuerst wollen wir die Genauigkeit der Indexberechnung überprüfen. In vielen Fällen werden IndexOutOfBoundsException-Ausnahmen durch Indexberechnungsfehler verursacht.

Beispielcode 1:

int[] array = new int[5];
int index = 5;
array[index] = 10;  // 此处抛出IndexOutOfBoundsException异常
Nach dem Login kopieren

Im obigen Code haben wir ein ganzzahliges Array der Länge 5 erstellt, aber beim Versuch, dem Element mit Index 5 einen Wert zuzuweisen, wird eine IndexOutOfBoundsException-Ausnahme ausgelöst. Dies liegt daran, dass der Index eines Arrays beginnend bei 0 berechnet wird, sodass der gültige Indexbereich des Arrays zwischen 0 und 4 liegen sollte. Zur Lösung dieses Problems ist lediglich die korrekte Berechnung des Index erforderlich.

Beispielcode 2:

int[] array = new int[5];
int index = 4;
array[index] = 10;  // 正确的索引赋值
Nach dem Login kopieren
  1. Nicht leeres Urteil
    Wenn Sie eine Sammlung oder eine dynamisch wachsende Datenstruktur verwenden, müssen Sie zunächst beurteilen, ob sie null ist oder ob genügend Elemente hinzugefügt wurden. Andernfalls wird möglicherweise eine IndexOutOfBoundsException aufgrund eines Zugriffs außerhalb des zulässigen Bereichs ausgelöst.

Beispielcode 3:

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
int index = 2;
int value = list.get(index);  // 此处抛出IndexOutOfBoundsException异常
Nach dem Login kopieren

Im obigen Code haben wir eine leere ArrayList erstellt und versucht, den Wert des Elements mit Index 2 abzurufen, aber da es nur zwei Elemente gibt, löst der Zugriff auf das Element mit Index 2 An aus Die IndexOutOfBoundsException-Ausnahme tritt auf. Um dieses Problem zu lösen, können Sie die Größe oder Länge der Sammlung bestimmen, bevor Sie darauf zugreifen.

Beispielcode 4:

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
int index = 1;
if (index < list.size()) {
    int value = list.get(index);  // 正确的访问
}
Nach dem Login kopieren
  1. Schleifensteuerung
    Bei Verwendung einer Schleife müssen Sie sicherstellen, dass der Index den gültigen Bereich des Arrays oder der Sammlung nicht überschreitet. Normalerweise gibt es zwei Möglichkeiten, IndexOutOfBoundsException zu vermeiden:

Methode 1: for-Schleifensteuerung:

for (int i = 0; i < array.length; i++) {
    // 访问数组元素
}
Nach dem Login kopieren

Wenn Sie eine for-Schleife verwenden, steuern Sie die Anzahl der Schleifen, indem Sie die Länge des Arrays oder der Sammlung verwenden, um sicherzustellen, dass sie die nicht überschreitet Bereich des Indexes.

Methode 2: Foreach-Schleifensteuerung:

for (int value : array) {
    // 访问数组元素
}
Nach dem Login kopieren

Wenn Sie eine Foreach-Schleife verwenden, müssen Sie sich nicht um den Bereich des Index kümmern, da die darunter liegende Ebene bereits relevante Entscheidungen getroffen hat, sodass es keine IndexOutOfBoundsException-Ausnahme gibt.

Zusammenfassend lässt sich sagen, dass wir durch korrekte Indexberechnung, Nicht-Null-Beurteilung und Schleifensteuerung die IndexOutOfBoundsException-Ausnahme in Java vermeiden und lösen können. Diese einfachen Lösungen können die Robustheit und Lesbarkeit unseres Codes verbessern und uns auch dabei helfen, Fehler besser zu lokalisieren und zu beheben. Für Java-Programmentwickler ist die Beherrschung dieser Fähigkeiten sehr wichtig, um die Qualität und Effizienz des Codes zu verbessern.

Referenzen:

  • https://docs.oracle.com/en/java/javase/14/names-indexes-for-td-tables.html
  • https://www.geeksforgeeks.org/indexoutofboundsexception - in-java-with-examples/

Das obige ist der detaillierte Inhalt vonLösung für die Java-Datenindex-Ausnahme (IndexOutOfBoundsException). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!