Wie prüft man, ob ein Array in Java Null/Leer ist
- Null-Array in Java
- Array enthält Null-Werte
- Leeres Array in Java
- Array Null mit der Apache Commons Bibliothek in Java prüfen
- Array Null mit Java 8 überprüfen
Dieses Tutorial führt ein, wie man in Java prüft, ob ein Array null oder leer ist, und listet auch einige Beispielcodes auf, um den Prozess der Nullprüfung zu verstehen.
Null-Array in Java
In Java ist ein Array ein Objekt, das ähnliche Arten von Daten enthält. Es kann nur dann null sein, wenn es nicht instanziiert ist oder auf eine Nullreferenz zeigt.
In diesem Beispiel haben wir zwei Arrays erstellt. Das Array arr
ist deklariert, aber nicht instanziiert. Es enthält keine Daten und verweist auf eine vom Compiler zugewiesene Null-Referenz (Standardwert). Das Array arr2
wird deklariert und explizit auf null zugewiesen, um ein Null-Array zu erzeugen.
Wir können dieses Beispiel verwenden, um zu überprüfen, ob das Array null ist oder nicht.
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");
}
}
}
Ausgabe:
The array is null
The array2 is null
Array enthält Null-Werte
Dies ist das zweite Szenario, bei dem ein Array Nullwerte enthält. In diesem Fall können wir ein Array als null betrachten.
Angenommen, wir haben ein Array mit Zeichenketten, das 5 Elemente enthalten kann. Da das Array nicht initialisiert ist, enthält es den vom Compiler zugewiesenen Nullwert (Standardwert).
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");
}
}
}
Ausgabe:
Array is null
Leeres Array in Java
Ein Array ist nur dann leer, wenn es null(0)-Elemente enthält und die Länge null hat. Wir können es testen, indem wir die length-Eigenschaft des Array-Objekts verwenden.
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");
}
}
}
Ausgabe:
The array is Empty
Array Null mit der Apache Commons Bibliothek in Java prüfen
Wenn Sie mit Apache
arbeiten, verwenden Sie die Klasse ArrayUtils
, um zu prüfen, ob ein Array leer ist. Die Klasse ArrayUtils
stellt eine Methode isEmpty()
zur Verfügung, die einen boolschen Wert entweder wahr oder falsch zurückgibt. Für weitere Informationen über die Apache-Bibliothek besuchen Sie hier.
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");
}
}
}
Ausgabe:
Array is Empty
Array Null mit Java 8 überprüfen
Wenn Sie mit Java 8 oder einer höheren Version arbeiten, dann können Sie die Methode stream()
der Klasse Arrays verwenden, um die Methode allMatch()
aufzurufen und zu prüfen, ob das Array Nullwerte enthält oder nicht.
Dies ist der Fall, wenn Array null Werte enthält.
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");
}
}
}
Ausgabe:
Array is null