NullPointerException
NPE
La oss 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 ser, er utskriften på skjermen null, og koden ser ut til å fungere. Men la oss nå prøve å bruke en hvilken som helst metode med en variabel som har 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.
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 være manglende (null).
Oppgaven 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
Fantastisk!
Completion rate forbedret til 2.7
NullPointerException
Sveip for å vise menyen
NPE
La oss 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 ser, er utskriften på skjermen null, og koden ser ut til å fungere. Men la oss nå prøve å bruke en hvilken som helst metode med en variabel som har 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.
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 være manglende (null).
Oppgaven 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