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

bookNullzeiger-Ausnahme

NPE

Das Konzept des null-Werts für eine String-Variable. 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.

Ein Beispiel für eine String-Variable mit dem Wert null:

Main.java

Main.java

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:

Main.java

Main.java

copy
123456789
package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }

Beim Versuch, eine Methode für eine String-Variable mit dem Wert null aufzurufen, tritt eine NullPointerException auf.

Möglichkeiten zur Vermeidung einer NPE:

  • Sorgfältige Überprüfung. Nach dem Erstellen einer String-Variable sicherstellen, dass sie initialisiert wurde;
  • Vor der Verwendung der Variable eine Null-Prüfung durchführen, zum Beispiel.
Main.java

Main.java

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 jedes email im Array.
  3. Für jeden Eintrag:
    • Prü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

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 5
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

close

bookNullzeiger-Ausnahme

Swipe um das Menü anzuzeigen

NPE

Das Konzept des null-Werts für eine String-Variable. 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.

Ein Beispiel für eine String-Variable mit dem Wert null:

Main.java

Main.java

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:

Main.java

Main.java

copy
123456789
package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }

Beim Versuch, eine Methode für eine String-Variable mit dem Wert null aufzurufen, tritt eine NullPointerException auf.

Möglichkeiten zur Vermeidung einer NPE:

  • Sorgfältige Überprüfung. Nach dem Erstellen einer String-Variable sicherstellen, dass sie initialisiert wurde;
  • Vor der Verwendung der Variable eine Null-Prüfung durchführen, zum Beispiel.
Main.java

Main.java

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 jedes email im Array.
  3. Für jeden Eintrag:
    • Prü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

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
single

single

some-alt