Kursinhalt
Java-Grundlagen
Java-Grundlagen
Nullzeiger-Ausnahme
NPE
NullPointerException
oder NPE ist ein Fehler, den jeder Java-Programmierer kennt. Dieser Fehler hält den Rekord dafür, Programmierer zu irritieren.
Zuerst wollen wir das Konzept des null
-Werts für eine String-Variable verstehen. Wenn wir eine String-Variable erstellen, aber vergessen, sie zu initialisieren, erhält sie einen null
-Wert.
Im Vergleich dazu, wenn wir eine int
-Variable nicht initialisieren, erhält sie den Wert 0
.
Betrachten wir ein Beispiel für eine String-Variable mit einem null
-Wert:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Wie Sie sehen können, ist die Ausgabe auf dem Bildschirm null
, und der Code scheint zu funktionieren. Aber versuchen wir jetzt, eine Methode mit einer Variable mit dem null
-Wert 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 einem null-Wert aufzurufen, erhalten wir eine NullPointerException
.
Vielleicht denken Sie, dass dieser Fehler nicht so ernst ist, aber später, wenn Sie Werte erhalten, die nicht von Ihnen persönlich geschrieben wurden, können Sie häufig darauf stoßen. Daher ist es wichtig, jetzt zu verstehen, wie man diesen Fehler behebt.
Möglichkeiten, um NPE zu vermeiden:
- Seien Sie aufmerksam. Wenn Sie eine String-Variable erstellen, überprüfen Sie doppelt, ob Sie sie initialisiert haben;
- Verwenden Sie eine null-Prüfung, bevor Sie die Variable verwenden, 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, das Mitarbeiter-E-Mails verarbeitet. Einige E-Mail-Einträge könnten fehlen (null
). Sie müssen nur die nicht-null E-Mails validieren und verarbeiten.
- Gegeben ist ein Array von Mitarbeiter-E-Mails, durchlaufen Sie jede E-Mail.
- Überprüfen Sie, ob die E-Mail nicht
null
ist und das@
-Symbol enthält, um zu überprüfen, ob sie gültig ist. - Drucken Sie die E-Mail, wenn sie gültig ist; andernfalls drucken Sie eine Nachricht mit dem Text
"Invalid or missing email"
.
Lösung
solution
Danke für Ihr Feedback!
Nullzeiger-Ausnahme
NPE
NullPointerException
oder NPE ist ein Fehler, den jeder Java-Programmierer kennt. Dieser Fehler hält den Rekord dafür, Programmierer zu irritieren.
Zuerst wollen wir das Konzept des null
-Werts für eine String-Variable verstehen. Wenn wir eine String-Variable erstellen, aber vergessen, sie zu initialisieren, erhält sie einen null
-Wert.
Im Vergleich dazu, wenn wir eine int
-Variable nicht initialisieren, erhält sie den Wert 0
.
Betrachten wir ein Beispiel für eine String-Variable mit einem null
-Wert:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Wie Sie sehen können, ist die Ausgabe auf dem Bildschirm null
, und der Code scheint zu funktionieren. Aber versuchen wir jetzt, eine Methode mit einer Variable mit dem null
-Wert 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 einem null-Wert aufzurufen, erhalten wir eine NullPointerException
.
Vielleicht denken Sie, dass dieser Fehler nicht so ernst ist, aber später, wenn Sie Werte erhalten, die nicht von Ihnen persönlich geschrieben wurden, können Sie häufig darauf stoßen. Daher ist es wichtig, jetzt zu verstehen, wie man diesen Fehler behebt.
Möglichkeiten, um NPE zu vermeiden:
- Seien Sie aufmerksam. Wenn Sie eine String-Variable erstellen, überprüfen Sie doppelt, ob Sie sie initialisiert haben;
- Verwenden Sie eine null-Prüfung, bevor Sie die Variable verwenden, 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, das Mitarbeiter-E-Mails verarbeitet. Einige E-Mail-Einträge könnten fehlen (null
). Sie müssen nur die nicht-null E-Mails validieren und verarbeiten.
- Gegeben ist ein Array von Mitarbeiter-E-Mails, durchlaufen Sie jede E-Mail.
- Überprüfen Sie, ob die E-Mail nicht
null
ist und das@
-Symbol enthält, um zu überprüfen, ob sie gültig ist. - Drucken Sie die E-Mail, wenn sie gültig ist; andernfalls drucken Sie eine Nachricht mit dem Text
"Invalid or missing email"
.
Lösung
solution
Danke für Ihr Feedback!