Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Nullzeiger-Ausnahme | Zeichenkette
Java-Grundlagen

Swipe um das Menü anzuzeigen

book
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:

java

Main

copy
12345678
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:

java

Main

copy
123456789
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.

java

Main

copy
123456789101112
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); } } }
Aufgabe

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.

  1. Es wird ein Array mit Mitarbeiter-E-Mails bereitgestellt.
  2. Durchlaufen Sie jede email im Array.
  3. Für jeden Eintrag:
    • Überprüfen Sie, ob die email nicht null ist
    • Und prüfen Sie, ob sie das @-Symbol enthält
  4. Wenn beide Bedingungen erfüllt sind, geben Sie die E-Mail auf der Konsole aus.
  5. Andernfalls geben Sie aus:
    "Invalid or missing email"

Lösung

java

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 5

Fragen Sie AI

expand
ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

book
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:

java

Main

copy
12345678
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:

java

Main

copy
123456789
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.

java

Main

copy
123456789101112
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); } } }
Aufgabe

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.

  1. Es wird ein Array mit Mitarbeiter-E-Mails bereitgestellt.
  2. Durchlaufen Sie jede email im Array.
  3. Für jeden Eintrag:
    • Überprüfen Sie, ob die email nicht null ist
    • Und prüfen Sie, ob sie das @-Symbol enthält
  4. Wenn beide Bedingungen erfüllt sind, geben Sie die E-Mail auf der Konsole aus.
  5. Andernfalls geben Sie aus:
    "Invalid or missing email"

Lösung

java

solution

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 5
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
Wir sind enttäuscht, dass etwas schief gelaufen ist. Was ist passiert?
some-alt