Como verificar se um vetor é nulo/imposto em Java
- Array Nulo em Java
- Array Contém Valores Nulos
- Array vazio em Java
- Verificar Array Null usando a biblioteca Apache Commons em Java
- Verificar Array Null utilizando Java 8
Este tutorial introduz como verificar se um array é nulo ou vazio em Java e também lista alguns exemplos de códigos para entender o processo de verificação nulo.
Array Nulo em Java
Em Java, um array é um objeto que contém tipos similares de dados. Ele só pode ser nulo se não for instanciado ou apontar para uma referência nula.
Neste exemplo, criamos duas arrays. O array arr
é declarado mas não instanciado. Ela não contém nenhum dado e se refere a uma referência nula (valor padrão) atribuída pelo compilador. O array arr2
é declarado e explicitamente atribuído a nulo para criar um array nulo.
Podemos utilizar este exemplo para verificar se o array é nulo ou não.
public class SimpleTesting {
String[] arr;
String[] arr2 = null;
public static void main(String[] args) {
SimpleTesting obj = new SimpleTesting();
if (obj.arr == null) {
System.out.println("The array is null");
}
if (obj.arr2 == null) {
System.out.println("The array2 is null");
}
}
}
Resultado:
The array is null
The array2 is null
Array Contém Valores Nulos
Este é o segundo cenário onde uma array contém valores nulos. Nesse caso, podemos considerar um array como sendo nulo.
Suponha-se que tenhamos um array de strings que pode conter 5 elementos. Uma vez que o array não é inicializado, então ele contém valores nulos (valor padrão) atribuídos pelo compilador.
public class SimpleTesting {
String[] arr = new String[5];
public static void main(String[] args) {
boolean containNull = true;
SimpleTesting obj = new SimpleTesting();
for (int i = 0; i < obj.arr.length; i++) {
if (obj.arr[i] != null) {
containNull = false;
break;
}
}
if (containNull) {
System.out.println("Array is null");
}
}
}
Resultado:
Array is null
Array vazio em Java
Uma array está vazia somente quando contém zero(0) elementos e tem comprimento zero. Podemos testá-lo usando a propriedade de comprimento do objeto array.
public class SimpleTesting {
String[] arr = new String[0];
public static void main(String[] args) {
SimpleTesting obj = new SimpleTesting();
if (obj.arr.length == 0) {
System.out.println("The array is Empty");
}
}
}
Resultado:
The array is Empty
Verificar Array Null usando a biblioteca Apache Commons em Java
Se você estiver trabalhando com Apache
então utilize a classe ArrayUtils
para verificar se uma array está vazia. A classe ArrayUtils
fornece um método isEmpty()
que retorna um valor booleano, verdadeiro ou falso. Para mais informações sobre a biblioteca apache visite aqui.
import org.apache.commons.lang3.ArrayUtils;
public class SimpleTesting {
String[] arr = new String[0];
public static void main(String[] args) {
SimpleTesting obj = new SimpleTesting();
Boolean isEmpty = ArrayUtils.isEmpty(obj.arr);
if (isEmpty) {
System.out.println("Array is Empty");
}
}
}
Resultado:
Array is Empty
Verificar Array Null utilizando Java 8
Se você estiver trabalhando com Java 8 ou versão superior, então você pode utilizar o método stream()
da classe Arrays para chamar o método allMatch()
para verificar se o array contém valores nulos ou não.
Este é o caso quando o array contém valores nulos.
import java.util.Arrays;
import java.util.Objects;
public class SimpleTesting {
String[] arr = new String[10];
public static void main(String[] args) {
SimpleTesting obj = new SimpleTesting();
Boolean containNull = Arrays.stream(obj.arr).allMatch(Objects::nonNull);
if (!containNull) {
System.out.println("Array is null");
}
}
}
Resultado:
Array is null