Percursos
/
Java
Java
/
Programa
/
Nulabilidade
Nu

Nulabilidade em Java

1 exercício

Sobre Nulabilidade

Em Java, o literal null é usado para indicar a ausência de um valor.

Os tipos de dados primitivos em Java têm todos um valor predefinido e, por isso, nunca podem ser null. Por convenção, começam com uma letra minúscula, por exemplo, int.

Os tipos de referência contêm o endereço de memória de um objeto e podem ter o valor null. Normalmente começam com uma letra maiúscula, por exemplo, String.

Se tentares atribuir o valor null a uma variável primitiva, vais obter um erro de compilação, porque a variável tem sempre um valor predefinido do tipo que lhe foi atribuído.

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

Atribuir o valor null a uma variável de referência não dá erro de compilação, porque as variáveis de referência podem ser nulas.

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

Aceder a uma variável de referência que tem o valor null compila sem problemas, mas provoca o lançamento de uma NullPointerException em tempo de execução.

int[] arr = null;

// Throws NullPointerException at runtime
arr.length;

Uma NullPointerException é lançada quando tentas aceder a uma variável de referência que é nula mas exige um objeto.

Para trabalhar com segurança com valores que podem ser nulos, deves verificar se são null antes de os usar. Podes fazer isso com operadores de igualdade, como == ou !=:

int[] arr = null;

if(arr != null) {
    System.out.println(arr.length);
} else {
    //Perform an alternate action when arr is null
}
Editar via GitHub A ligação abre numa nova janela ou separador

Aprende Nulabilidade