Nullzeiger-Ausnahme
NPE
NullPointerException
oder NPE ist ein Fehler, mit dem jeder Java-Programmierer vertraut ist. Dieser Fehler hält den Rekord darin, Programmierer zu verärgern.
Zunächst soll das Konzept des null
-Werts für eine String-Variable erläutert werden. Wenn eine String-Variable deklariert, aber nicht initialisiert wird, erhält sie den Wert null
.
Im Vergleich dazu erhält eine int
-Variable ohne Initialisierung den Wert 0
.
Betrachten wir ein Beispiel für eine String-Variable mit dem Wert null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Wie zu sehen ist, wird auf dem Bildschirm null
ausgegeben und der Code scheint zu funktionieren. Versuchen wir nun, eine beliebige Methode mit einer Variable mit dem Wert null
zu verwenden:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Wenn versucht wird, eine Methode für eine String-Variable mit dem Wert null aufzurufen, tritt eine NullPointerException
auf.
Vielleicht erscheint dieser Fehler zunächst nicht gravierend, aber später, wenn Werte verarbeitet werden, die nicht selbst erstellt wurden, kann er häufig auftreten. Daher ist es wichtig, bereits jetzt zu verstehen, wie dieser Fehler behoben werden kann.
Möglichkeiten zur Vermeidung einer NPE:
Sorgfalt walten lassen. Beim Erstellen einer String-Variable stets überprüfen, ob sie initialisiert wurde;
Einen Null-Check durchführen, bevor die Variable verwendet wird, zum Beispiel.
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; if (string == null) { // null check System.out.println("Can't use methods with string, because value is null"); } else { System.out.println(string); } } }
Swipe to start coding
Sie entwickeln ein System zur Verarbeitung von Mitarbeiter-E-Mails.
Einige E-Mail-Einträge könnten fehlen (null
) sein.
Ihre Aufgabe ist es, nur die nicht-null und korrekt formatierten E-Mails zu validieren und zu verarbeiten.
- Es wird ein Array mit Mitarbeiter-E-Mails bereitgestellt.
- Durchlaufen Sie jede
email
im Array. - Für jeden Eintrag:
- Überprüfen Sie, ob die
email
nichtnull
ist - Und prüfen Sie, ob sie das
@
-Symbol enthält
- Überprüfen Sie, ob die
- Wenn beide Bedingungen erfüllt sind, geben Sie die E-Mail auf der Konsole aus.
- Andernfalls geben Sie aus:
"Invalid or missing email"
Lösung
solution
Danke für Ihr Feedback!