Controlla se un array è nullo/vuoto in Java

Mohammad Irfan 12 ottobre 2023
  1. Null Array in Java
  2. L’array contiene valori nulli
  3. Array vuoto in Java
  4. Seleziona Array Null utilizzando la libreria Apache Commons in Java
  5. Controllare Array Null usando Java 8
Controlla se un array è nullo/vuoto in Java

Questo tutorial introduce come verificare se un array è nullo o vuoto in Java ed elenca anche alcuni codici di esempio per comprendere il processo di controllo nullo.

Null Array in Java

In Java, un array è un oggetto che contiene tipi di dati simili. Può essere nullo solo se non viene istanziato o punta a un riferimento nullo.

In questo esempio, abbiamo creato due array. L’array arr viene dichiarato ma non istanziato. Non contiene dati e fa riferimento a un riferimento nullo (valore predefinito) assegnato dal compilatore. L’array arr2 viene dichiarato e assegnato esplicitamente a null per creare un array null.

Possiamo usare questo esempio per verificare se l’array è nullo o meno.

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");
    }
  }
}

Produzione:

The array is null
The array2 is null

L’array contiene valori nulli

Questo è il secondo scenario in cui un array contiene valori null. In tal caso, possiamo considerare un array nullo.

Supponiamo di avere un array di stringhe che può contenere 5 elementi. Poiché l’array non è inizializzato, mantiene null (valore predefinito) assegnato dal compilatore.

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");
    }
  }
}

Produzione:

Array is null

Array vuoto in Java

Un array è vuoto solo quando contiene zero (0) elementi e ha lunghezza zero. Possiamo testarlo usando la proprietà length dell’oggetto 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");
    }
  }
}

Produzione:

The array is Empty

Seleziona Array Null utilizzando la libreria Apache Commons in Java

Se stai lavorando con Apache, usa la classe ArrayUtils per controllare se un array è vuoto. La classe ArrayUtils fornisce un metodo isEmpty() che restituisce un valore booleano vero o falso. Per maggiori informazioni sulla libreria Apache visita qui.

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");
    }
  }
}

Produzione:

Array is Empty

Controllare Array Null usando Java 8

Se stai lavorando con Java 8 o versione successiva, puoi usare il metodo stream() della classe Arrays per chiamare il metodo allMatch() per verificare se l’array contiene valori nulli o meno.

Questo è il caso in cui l’array contiene valori nulli.

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");
    }
  }
}

Produzione:

Array is null

Articolo correlato - Java Array