Heim > Java > javaLernprogramm > Hauptteil

In welchen Szenarien tritt NullPointerException in Java auf?

WBOY
Freigeben: 2023-06-25 08:55:55
Original
1635 Leute haben es durchsucht

Java ist eine weit verbreitete Programmiersprache und NullPointerException ist eine ihrer Ausnahmen. Sie zeigt an, dass der Code eine Nullzeigerreferenz enthält. Wenn ein Methodenaufruf für ein Nullobjekt oder ein Zugriff auf eine Eigenschaft eines Nullobjekts im Code erfolgt, wird eine NullPointerException-Ausnahme ausgelöst. In diesem Artikel werden wir die Szenarien untersuchen, in denen eine NullPointerException auftritt.

1. Führen Sie einen Methodenaufruf durch, wenn das Objekt null ist.

Wenn ein Objekt null ist und eine Methode dafür aufgerufen wird, wird eine NullPointerException ausgelöst. Zum Beispiel das folgende Codefragment:

String str = null;
System.out.println(str.length());
Nach dem Login kopieren

Da str null ist, wird eine NullPointerException geworfen, wenn die str.length()-Anweisung ausgeführt wird. Um diese Situation zu vermeiden, müssen wir das Objekt beurteilen, bevor wir die Methode aufrufen, wie unten gezeigt:

String str = null;
if(str != null){
    System.out.println(str.length());
}
Nach dem Login kopieren

2. Führen Sie Array-Operationen aus, wenn das Array null ist.

Wenn ein Array null ist, wenn Sie Array-Operationen darauf ausführen (Zum Beispiel beim Zugriff auf Array-Elemente, beim Auswerten der Array-Länge usw.) wird auch eine NullPointerException ausgelöst. Zum Beispiel das folgende Codefragment:

int[] arr = null;
System.out.println(arr.length);
Nach dem Login kopieren

Da arr null ist, wird eine NullPointerException geworfen, wenn die arr.length-Anweisung ausgeführt wird. Um diese Situation zu vermeiden, müssen wir das Array beurteilen, bevor wir auf die Array-Elemente zugreifen, wie unten gezeigt:

int[] arr = null;
if(arr != null){
    System.out.println(arr.length);
}
Nach dem Login kopieren

3 Im Try-Catch-Block tritt eine Nullzeiger-Ausnahme auf Tritt auf Ausnahme: Wenn das Nullzeigerobjekt direkt ohne Verarbeitung im Catch-Block verwendet wird, wird auch eine NullPointerException ausgelöst. Zum Beispiel das folgende Codefragment:

try {
    String str = null;
    System.out.println(str.length());
} catch (Exception e) {
    String errorMsg = e.getMessage();
    System.out.println(errorMsg.length());
}
Nach dem Login kopieren

Da im Try-Block eine Nullzeiger-Ausnahme auftritt, wird bei Ausführung der System.out.println(errorMsg.length())-Anweisung im Catch-Block eine NullPointerException-Ausnahme ausgelöst . Wir können die Fehlermeldung im Catch-Block wie unten gezeigt beurteilen:

try {
    String str = null;
    System.out.println(str.length());
} catch (Exception e) {
    String errorMsg = e.getMessage();
    if(errorMsg != null){
        System.out.println(errorMsg.length());
    }
}
Nach dem Login kopieren

4. Verwendung nicht initialisierter Objekte

Wenn ein nicht initialisiertes Objekt bearbeitet wird, wird auch eine NullPointerException ausgelöst. Zum Beispiel das folgende Codefragment:

String str;
System.out.println(str.length());
Nach dem Login kopieren

Da str nicht initialisiert wurde, wird bei Ausführung der str.length()-Anweisung auch eine NullPointerException ausgelöst. Um diese Situation zu vermeiden, müssen wir das Objekt initialisieren, bevor wir es verwenden, wie unten gezeigt:

String str = "";
System.out.println(str.length());
Nach dem Login kopieren

Zusammenfassung:

Bei NullPointerException-Ausnahmen müssen wir auf die Probleme in den oben genannten Szenarien achten und sie entsprechend behandeln, um sie zu vermeiden Im Code wird ein Nullzeigerverweis angezeigt. Gleichzeitig können wir auch Toolklassen (wie die StringUtils-Klasse in der Apache-Commons-lang3-Bibliothek) verwenden, um das Auftreten von Nullzeigerausnahmen zu vermeiden.

Das obige ist der detaillierte Inhalt vonIn welchen Szenarien tritt NullPointerException in Java auf?. 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