NullPointerException
NPE
Käydään läpi null-arvon käsite merkkijonon muuttujalle. Kun luodaan merkkijonon muuttuja, mutta unohdetaan alustaa se, muuttuja saa arvon null.
Vertailun vuoksi, jos int-muuttujaa ei alusteta, se saa arvon 0.
Tarkastellaan esimerkkiä merkkijonon muuttujasta, jonka arvo on null:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Kuten huomaat, näytölle tulostuu null ja koodi näyttää toimivan. Kokeillaanpa nyt käyttää mitä tahansa metodia muuttujalla, jonka arvo on null:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Kun yritetään kutsua mitä tahansa metodia merkkijonon muuttujalle, jonka arvo on null, saadaan NullPointerException.
Tapoja välttää NPE:
- Ole huolellinen. Jos luot merkkijonon muuttujan, tarkista, että olet alustanut sen;
- Käytä null-tarkistusta ennen muuttujan käyttöä, esimerkiksi.
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
Kehität järjestelmää, joka käsittelee työntekijöiden sähköpostiosoitteita.
Jotkin sähköpostiosoitteet saattavat puuttua (null).
Tehtävänäsi on tarkistaa ja käsitellä vain ei-null-arvoiset ja oikein muotoillut sähköpostiosoitteet.
- Sinulle annetaan taulukko työntekijöiden sähköpostiosoitteita.
- Käy läpi jokainen
emailtaulukossa. - Jokaiselle riville:
- Tarkista, että
emailei olenull - Ja tarkista, että se sisältää
@-merkin
- Tarkista, että
- Jos molemmat ehdot täyttyvät, tulosta sähköpostiosoite konsoliin.
- Muussa tapauksessa tulosta:
"Invalid or missing email"
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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?
Mahtavaa!
Completion arvosana parantunut arvoon 2.7
NullPointerException
Pyyhkäise näyttääksesi valikon
NPE
Käydään läpi null-arvon käsite merkkijonon muuttujalle. Kun luodaan merkkijonon muuttuja, mutta unohdetaan alustaa se, muuttuja saa arvon null.
Vertailun vuoksi, jos int-muuttujaa ei alusteta, se saa arvon 0.
Tarkastellaan esimerkkiä merkkijonon muuttujasta, jonka arvo on null:
Main.java
12345678package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Kuten huomaat, näytölle tulostuu null ja koodi näyttää toimivan. Kokeillaanpa nyt käyttää mitä tahansa metodia muuttujalla, jonka arvo on null:
Main.java
123456789package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Kun yritetään kutsua mitä tahansa metodia merkkijonon muuttujalle, jonka arvo on null, saadaan NullPointerException.
Tapoja välttää NPE:
- Ole huolellinen. Jos luot merkkijonon muuttujan, tarkista, että olet alustanut sen;
- Käytä null-tarkistusta ennen muuttujan käyttöä, esimerkiksi.
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
Kehität järjestelmää, joka käsittelee työntekijöiden sähköpostiosoitteita.
Jotkin sähköpostiosoitteet saattavat puuttua (null).
Tehtävänäsi on tarkistaa ja käsitellä vain ei-null-arvoiset ja oikein muotoillut sähköpostiosoitteet.
- Sinulle annetaan taulukko työntekijöiden sähköpostiosoitteita.
- Käy läpi jokainen
emailtaulukossa. - Jokaiselle riville:
- Tarkista, että
emailei olenull - Ja tarkista, että se sisältää
@-merkin
- Tarkista, että
- Jos molemmat ehdot täyttyvät, tulosta sähköpostiosoite konsoliin.
- Muussa tapauksessa tulosta:
"Invalid or missing email"
Ratkaisu
Kiitos palautteestasi!
single