Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Nullpointerexception | Streng
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Java Grundlæggende

bookNullpointerexception

NPE

Lad os forstå begrebet null-værdien for en strengvariabel. Når vi opretter en strengvariabel, men glemmer at initialisere den, får den værdien null. Til sammenligning, hvis vi ikke initialiserer en int-variabel, får den værdien 0.

Lad os se et eksempel på en strengvariabel med værdien 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); } }

Som du kan se, er outputtet på skærmen null, og koden ser ud til at fungere. Men lad os nu prøve at bruge en hvilken som helst metode med en variabel med værdien null:

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

Ved forsøg på 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, dobbelttjek om den er initialiseret;
  • Brug et null-tjek før variablen anvendes, for eksempel.
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); } } }
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, at email ikke er null
    • Og kontroller, at den indeholder @-symbolet
  4. Hvis begge betingelser er opfyldt, udskriv e-mailen til konsollen.
  5. Ellers udskrives:
    "Invalid or missing email"

Løsning

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

close

bookNullpointerexception

Stryg for at vise menuen

NPE

Lad os forstå begrebet null-værdien for en strengvariabel. Når vi opretter en strengvariabel, men glemmer at initialisere den, får den værdien null. Til sammenligning, hvis vi ikke initialiserer en int-variabel, får den værdien 0.

Lad os se et eksempel på en strengvariabel med værdien 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); } }

Som du kan se, er outputtet på skærmen null, og koden ser ud til at fungere. Men lad os nu prøve at bruge en hvilken som helst metode med en variabel med værdien null:

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

Ved forsøg på 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, dobbelttjek om den er initialiseret;
  • Brug et null-tjek før variablen anvendes, for eksempel.
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); } } }
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, at email ikke er null
    • Og kontroller, at den indeholder @-symbolet
  4. Hvis begge betingelser er opfyldt, udskriv e-mailen til konsollen.
  5. Ellers udskrives:
    "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

some-alt