Controlla se un array è nullo/vuoto in Java
- Null Array in Java
- L’array contiene valori nulli
- Array vuoto in Java
- Seleziona Array Null utilizzando la libreria Apache Commons in Java
- Controllare Array Null usando Java 8
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