Mahtavaa!
Completion arvosana parantunut arvoon 2.86single
Nullpointerexception
Pyyhkäise näyttääksesi valikon
NPE
Käsitellään null-arvon käsitettä merkkijonon muuttujalle. Kun luodaan merkkijonon muuttuja, mutta sitä ei alusteta, se 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. Kokeillaan 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 kahdesti, 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 ja oikein muotoillut sähköpostiosoitteet.
- Sinulle annetaan taulukko työntekijöiden sähköpostiosoitteita.
- Käy läpi jokainen
emailtaulukossa. - Jokaiselle merkinnälle:
- 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