Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Nullpekarundantag | Sträng
Java-Grunder

bookNullpekarundantag

NPE

Låt oss 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. Som jämförelse, 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

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 är utskriften 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

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

Vid försök att anropa någon metod på en strängvariabel med värdet null erhålls ett NullPointerException.

Sätt att undvika NPE:

  • Noggrannhet. Om en strängvariabel skapas, kontrollera att den har initialiserats;
  • Använd null-kontroll innan variabeln används, till exempel.
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); } } }
Uppgift

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.

  1. Du får en array med anställdas e-postadresser.
  2. Iterera genom varje email i arrayen.
  3. För varje post:
    • Kontrollera att email inte är null
    • Och kontrollera att den innehåller @-symbolen
  4. Om båda villkoren är uppfyllda, skriv ut e-postadressen till konsolen.
  5. Annars, skriv ut:
    "Invalid or missing email"

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 5
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

Can you explain more about how to check for null values in Java?

What are some other common causes of NullPointerException?

Can you show examples of handling null values in real-world Java applications?

close

bookNullpekarundantag

Svep för att visa menyn

NPE

Låt oss 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. Som jämförelse, 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

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 är utskriften 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

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

Vid försök att anropa någon metod på en strängvariabel med värdet null erhålls ett NullPointerException.

Sätt att undvika NPE:

  • Noggrannhet. Om en strängvariabel skapas, kontrollera att den har initialiserats;
  • Använd null-kontroll innan variabeln används, till exempel.
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); } } }
Uppgift

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.

  1. Du får en array med anställdas e-postadresser.
  2. Iterera genom varje email i arrayen.
  3. För varje post:
    • Kontrollera att email inte är null
    • Och kontrollera att den innehåller @-symbolen
  4. Om båda villkoren är uppfyllda, skriv ut e-postadressen till konsolen.
  5. Annars, skriv ut:
    "Invalid or missing email"

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 5
single

single

some-alt