Nullpekarexception
NPE
NullPointerException eller NPE är ett fel som varje Java-programmerare känner till. Detta fel innehar rekordet för att irritera programmerare.
Först ska vi förstå konceptet med värdet null för en strängvariabel. När vi skapar en strängvariabel men glömmer att initiera den, får den värdet null.
Till skillnad från detta, om vi inte initierar en int-variabel, får den värdet 0.
Låt oss titta på ett exempel med en strängvariabel som har värdet 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 är utdata på skärmen null, och koden verkar fungera. Men låt oss nu försöka använda någon metod med en variabel som har värdet null:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Vid försök att anropa en metod på en strängvariabel med värdet null erhålls ett NullPointerException.
Det kan verka som att detta fel inte är allvarligt, men senare, när du får värden som inte är skrivna av dig själv, kan du ofta stöta på det. Därför är det viktigt att förstå hur detta fel kan hanteras redan nu.
Sätt att undvika NPE:
- Var uppmärksam. Om du skapar en strängvariabel, kontrollera noggrant att du har initierat den;
- Använd en null-kontroll innan variabeln används, till exempel.
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 utvecklar ett system som hanterar anställdas e-postadresser.
Vissa e-postposter kan saknas (null).
Din uppgift är att validera och endast behandla icke-null och korrekt formaterade e-postadresser.
- Du får en array med anställdas e-postadresser.
- Iterera genom varje
emaili arrayen. - För varje post:
- Kontrollera att
emailinte ärnull - Och kontrollera att den innehåller
@-symbolen
- Kontrollera att
- Om båda villkoren är uppfyllda, skriv ut e-postadressen till konsolen.
- Annars, skriv ut:
"Invalid or missing email"
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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?
Fantastiskt!
Completion betyg förbättrat till 2.7
Nullpekarexception
Svep för att visa menyn
NPE
NullPointerException eller NPE är ett fel som varje Java-programmerare känner till. Detta fel innehar rekordet för att irritera programmerare.
Först ska vi förstå konceptet med värdet null för en strängvariabel. När vi skapar en strängvariabel men glömmer att initiera den, får den värdet null.
Till skillnad från detta, om vi inte initierar en int-variabel, får den värdet 0.
Låt oss titta på ett exempel med en strängvariabel som har värdet 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 är utdata på skärmen null, och koden verkar fungera. Men låt oss nu försöka använda någon metod med en variabel som har värdet null:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Vid försök att anropa en metod på en strängvariabel med värdet null erhålls ett NullPointerException.
Det kan verka som att detta fel inte är allvarligt, men senare, när du får värden som inte är skrivna av dig själv, kan du ofta stöta på det. Därför är det viktigt att förstå hur detta fel kan hanteras redan nu.
Sätt att undvika NPE:
- Var uppmärksam. Om du skapar en strängvariabel, kontrollera noggrant att du har initierat den;
- Använd en null-kontroll innan variabeln används, till exempel.
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 utvecklar ett system som hanterar anställdas e-postadresser.
Vissa e-postposter kan saknas (null).
Din uppgift är att validera och endast behandla icke-null och korrekt formaterade e-postadresser.
- Du får en array med anställdas e-postadresser.
- Iterera genom varje
emaili arrayen. - För varje post:
- Kontrollera att
emailinte ärnull - Och kontrollera att den innehåller
@-symbolen
- Kontrollera att
- Om båda villkoren är uppfyllda, skriv ut e-postadressen till konsolen.
- Annars, skriv ut:
"Invalid or missing email"
Lösning
Tack för dina kommentarer!
single