Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Nullpointerexception | String
Java Grundlæggende
Sektion 5. Kapitel 5
single

single

Nullpointerexception

Stryg for at vise menuen

NPE

Forståelse af begrebet null-værdi for en strengvariabel. Når en strengvariabel oprettes uden initialisering, får den værdien null. Til sammenligning får en int-variabel værdien 0, hvis den ikke initialiseres.

Eksempel på en strengvariabel med værdien null:

Main.java

Main.java

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

Som det ses, er outputtet på skærmen null, og koden ser ud til at fungere. Lad os nu prøve at bruge en metode med en variabel, der har værdien null:

Main.java

Main.java

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

Når man forsøger at kalde en metode på en strengvariabel med værdien null, opstår der en NullPointerException.

Måder at undgå NPE på:

  • Vær opmærksom. Hvis du opretter en strengvariabel, så dobbelttjek om den er initialiseret;
  • Brug et null-tjek før variablen anvendes, for eksempel.
Main.java

Main.java

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); } } }
Opgave

Swipe to start coding

Du udvikler et system, der behandler medarbejderes e-mails.
Nogle e-mail-poster kan mangle (null).
Din opgave er at validere og kun behandle ikke-null og korrekt formaterede e-mails.

  1. Du får et array med medarbejderes e-mails.
  2. Gennemløb hver email i arrayet.
  3. For hver post:
    • Kontroller, om email ikke er null
    • Og kontroller, om den indeholder @-symbolet
  4. Hvis begge betingelser er opfyldt, udskriv e-mailen til konsollen.
  5. Ellers udskriv:
    "Invalid or missing email"

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 5
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt