NullPointerException
NPE
NullPointerException eller NPE er en feil alle Java-programmerere kjenner til. Denne feilen har rekorden for å irritere programmerere.
Først skal vi forstå konseptet med null-verdien for en strengvariabel. Når vi oppretter en strengvariabel, men glemmer å initialisere den, får den verdien null.
Til sammenligning, hvis vi ikke initialiserer en int-variabel, får den verdien 0.
La oss se på et eksempel med en strengvariabel som har verdien null:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Som du kan se, er utskriften på skjermen null, og koden ser ut til å fungere. Men la oss nå prøve å bruke en metode på en variabel med verdien null:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Når du prøver å kalle en metode på en strengvariabel med verdien null, får du en NullPointerException.
Du tror kanskje at denne feilen ikke er så alvorlig, men senere, når du mottar verdier som ikke er skrevet av deg selv, vil du ofte støte på den. Derfor er det viktig å forstå hvordan du løser denne feilen nå.
Måter å unngå NPE på:
- Vær oppmerksom. Hvis du oppretter en strengvariabel, dobbeltsjekk at du har initialisert den;
- Bruk en null-sjekk før du bruker variabelen, for eksempel.
Main.java
123456789101112package 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
Du utvikler et system som behandler ansattes e-poster.
Noen e-postoppføringer kan mangle (null).
Din oppgave er å validere og kun behandle ikke-null og korrekt formaterte e-poster.
- Du får et array med ansattes e-poster.
- Gå gjennom hver
emaili arrayet. - For hver oppføring:
- Sjekk om
emailer ikkenull - Og sjekk om den inneholder
@-symbolet
- Sjekk om
- Hvis begge betingelsene er oppfylt, skriv ut e-posten til konsollen.
- Ellers, skriv ut:
"Invalid or missing email"
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you show me an example of how to check for null before using a variable?
What are some other common causes of NullPointerException in Java?
Can you explain the difference between null and an empty string in Java?
Fantastisk!
Completion rate forbedret til 2.7
NullPointerException
Sveip for å vise menyen
NPE
NullPointerException eller NPE er en feil alle Java-programmerere kjenner til. Denne feilen har rekorden for å irritere programmerere.
Først skal vi forstå konseptet med null-verdien for en strengvariabel. Når vi oppretter en strengvariabel, men glemmer å initialisere den, får den verdien null.
Til sammenligning, hvis vi ikke initialiserer en int-variabel, får den verdien 0.
La oss se på et eksempel med en strengvariabel som har verdien null:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Som du kan se, er utskriften på skjermen null, og koden ser ut til å fungere. Men la oss nå prøve å bruke en metode på en variabel med verdien null:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Når du prøver å kalle en metode på en strengvariabel med verdien null, får du en NullPointerException.
Du tror kanskje at denne feilen ikke er så alvorlig, men senere, når du mottar verdier som ikke er skrevet av deg selv, vil du ofte støte på den. Derfor er det viktig å forstå hvordan du løser denne feilen nå.
Måter å unngå NPE på:
- Vær oppmerksom. Hvis du oppretter en strengvariabel, dobbeltsjekk at du har initialisert den;
- Bruk en null-sjekk før du bruker variabelen, for eksempel.
Main.java
123456789101112package 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
Du utvikler et system som behandler ansattes e-poster.
Noen e-postoppføringer kan mangle (null).
Din oppgave er å validere og kun behandle ikke-null og korrekt formaterte e-poster.
- Du får et array med ansattes e-poster.
- Gå gjennom hver
emaili arrayet. - For hver oppføring:
- Sjekk om
emailer ikkenull - Og sjekk om den inneholder
@-symbolet
- Sjekk om
- Hvis begge betingelsene er oppfylt, skriv ut e-posten til konsollen.
- Ellers, skriv ut:
"Invalid or missing email"
Løsning
Takk for tilbakemeldingene dine!
single