Como verificar se um vetor é nulo/imposto em Java

Mohammad Irfan 12 outubro 2023
  1. Array Nulo em Java
  2. Array Contém Valores Nulos
  3. Array vazio em Java
  4. Verificar Array Null usando a biblioteca Apache Commons em Java
  5. Verificar Array Null utilizando Java 8
Como verificar se um vetor é nulo/imposto em Java

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

Artigo relacionado - Java Array