Wie prüft man, ob ein Array in Java Null/Leer ist

Mohammad Irfan 12 Oktober 2023
  1. Null-Array in Java
  2. Array enthält Null-Werte
  3. Leeres Array in Java
  4. Array Null mit der Apache Commons Bibliothek in Java prüfen
  5. Array Null mit Java 8 überprüfen
Wie prüft man, ob ein Array in Java Null/Leer ist

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

Verwandter Artikel - Java Array