Como verificar se um vetor é nulo/imposto em Java

Mohammad Irfan 1 novembro 2020 Java Java Array
  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

  • Como concatenar duas arraias em Java
  • Como converter Byte Array em Hex String em Java
  • Remover duplicatas do array em Java
  • Adicionar objetos a uma matriz em Java
  • A função push() em Java
  • Clonar arrays Java