Tracce
/
Java
Java
/
Programma
/
Nullabilità
Nu

Nullabilità in Java

1 esercizio

Informazioni su Nullabilità

In Java, il letterale null viene usato per indicare l'assenza di un valore.

In Java, tutti i tipi di dati primitivi hanno un valore predefinito e quindi non possono mai essere null. Per convenzione, iniziano con una lettera minuscola, ad esempio int.

I tipi di riferimento contengono l'indirizzo di memoria di un oggetto e possono avere il valore null. In genere iniziano con una lettera maiuscola, ad esempio String.

Se provi ad assegnare a una variabile primitiva il valore null, otterrai un errore in fase di compilazione, perché la variabile contiene sempre un valore predefinito del tipo assegnato.

// Throws compile time error stating the required type is int, but null was provided
int number = null;

Assegnare a una variabile di riferimento un valore null non provoca un errore in fase di compilazione, perché le variabili di riferimento possono assumere il valore null.

//No error will occur as the String variable str is nullable
String str = null;

Accedere a una variabile di riferimento che ha valore null viene compilato senza problemi, ma in fase di esecuzione viene lanciata una NullPointerException.

int[] arr = null;

// Throws NullPointerException at runtime
arr.length;

Una NullPointerException viene lanciata quando si prova ad accedere a una variabile di riferimento che è null ma che richiede un oggetto.

Per lavorare in sicurezza con valori che possono essere null, conviene controllare se sono null prima di utilizzarli. Per farlo si possono usare gli operatori di uguaglianza come == o !=:

int[] arr = null;

if(arr != null) {
    System.out.println(arr.length);
} else {
    //Perform an alternate action when arr is null
}
Modifica tramite GitHub Il collegamento si apre in una nuova finestra o scheda

Impara Nullabilità