Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Eccezione NullPointer | Stringa
Basi di Java

bookEccezione NullPointer

NPE

NullPointerException o NPE è un errore ben noto a ogni programmatore Java. Questo errore detiene il primato per aver irritato i programmatori.

Per prima cosa, occorre comprendere il concetto di valore null per una variabile stringa. Quando si crea una variabile stringa ma si dimentica di inizializzarla, essa assume il valore null. Al contrario, se non si inizializza una variabile di tipo int, essa assume il valore 0.

Consideriamo un esempio di variabile stringa con valore 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); } }

Come si può notare, l'output visualizzato è null e il codice sembra funzionare. Tuttavia, proviamo ora a utilizzare un qualsiasi metodo con una variabile dal valore 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); } }

Quando si tenta di chiamare un qualsiasi metodo su una variabile stringa con valore null, si riceve una NullPointerException.

Potresti pensare che questo errore non sia così grave, ma in seguito, quando riceverai valori non scritti personalmente da te, potresti incontrarlo spesso. Pertanto, è fondamentale comprendere ora come risolvere questo errore.

Modi per evitare NPE:

  • Prestare attenzione. Se si crea una variabile stringa, verificare attentamente di averla inizializzata;
  • Utilizzare un controllo null prima di usare la variabile, ad esempio.
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); } } }
Compito

Swipe to start coding

Si sta sviluppando un sistema che gestisce email dei dipendenti.
Alcune voci email potrebbero essere mancanti (null).
L'obiettivo è validare e gestire solo le email non nulle e correttamente formattate.

  1. Viene fornito un array di email dei dipendenti.
  2. Scorrere ciascuna email nell'array.
  3. Per ogni voce:
    • Verificare che l'email non sia null
    • E verificare che contenga il simbolo @
  4. Se entrambe le condizioni sono soddisfatte, stampare l'email sulla console.
  5. Altrimenti, stampare:
    "Invalid or missing email"

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 5
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

bookEccezione NullPointer

Scorri per mostrare il menu

NPE

NullPointerException o NPE è un errore ben noto a ogni programmatore Java. Questo errore detiene il primato per aver irritato i programmatori.

Per prima cosa, occorre comprendere il concetto di valore null per una variabile stringa. Quando si crea una variabile stringa ma si dimentica di inizializzarla, essa assume il valore null. Al contrario, se non si inizializza una variabile di tipo int, essa assume il valore 0.

Consideriamo un esempio di variabile stringa con valore 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); } }

Come si può notare, l'output visualizzato è null e il codice sembra funzionare. Tuttavia, proviamo ora a utilizzare un qualsiasi metodo con una variabile dal valore 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); } }

Quando si tenta di chiamare un qualsiasi metodo su una variabile stringa con valore null, si riceve una NullPointerException.

Potresti pensare che questo errore non sia così grave, ma in seguito, quando riceverai valori non scritti personalmente da te, potresti incontrarlo spesso. Pertanto, è fondamentale comprendere ora come risolvere questo errore.

Modi per evitare NPE:

  • Prestare attenzione. Se si crea una variabile stringa, verificare attentamente di averla inizializzata;
  • Utilizzare un controllo null prima di usare la variabile, ad esempio.
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); } } }
Compito

Swipe to start coding

Si sta sviluppando un sistema che gestisce email dei dipendenti.
Alcune voci email potrebbero essere mancanti (null).
L'obiettivo è validare e gestire solo le email non nulle e correttamente formattate.

  1. Viene fornito un array di email dei dipendenti.
  2. Scorrere ciascuna email nell'array.
  3. Per ogni voce:
    • Verificare che l'email non sia null
    • E verificare che contenga il simbolo @
  4. Se entrambe le condizioni sono soddisfatte, stampare l'email sulla console.
  5. Altrimenti, stampare:
    "Invalid or missing email"

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 5
single

single

some-alt