HOWTO · Java

Controlla se un array è nullo/vuoto in Java

Dimostra come controllare un array nullo o vuoto in Java

In questa pagina

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