Java에서 배열이 널/비어 있는지 확인하는 방법

Mohammad Irfan 2023년10월12일
  1. Java의 널 배열
  2. 배열에 Null 값이 포함됨
  3. Java의 빈 배열
  4. Java에서 Apache Commons Library를 사용하여 배열 Null 확인
  5. Java 8을 사용하여 배열 Null 확인
Java에서 배열이 널/비어 있는지 확인하는 방법

이 튜토리얼에서는 Java에서 배열이 널인지 비어 있는지 확인하는 방법을 소개하고 널 검사 프로세스를 이해하기위한 몇 가지 예제 코드도 나열합니다.

Java의 널 배열

Java에서 배열은 유사한 유형의 데이터를 보유하는 객체입니다. 인스턴스화되지 않았거나 널 참조를 가리키는 경우에만 널이 될 수 있습니다.

이 예에서는 두 개의 배열을 만들었습니다. 배열arr는 선언되었지만 인스턴스화되지 않았습니다. 데이터를 보유하지 않으며 컴파일러에서 할당 한 널 참조 (기본값)를 참조합니다. arr2 배열이 선언되고 명시 적으로 null에 할당되어 null 배열을 생성합니다.

이 예제를 사용하여 배열이 null인지 여부를 확인할 수 있습니다.

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

출력:

The array is null
The array2 is null

배열에 Null 값이 포함됨

이것은 배열에 null 값이 포함 된 두 번째 시나리오입니다. 이 경우 배열을 null로 간주 할 수 있습니다.

5 개의 요소를 포함 할 수있는 문자열 배열이 있다고 가정합니다. 배열이 초기화되지 않았으므로 컴파일러에서 할당 한 null (기본값)을 보유합니다.

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

출력:

Array is null

Java의 빈 배열

배열은 요소가 0 개이고 길이가 0 인 경우에만 비어 있습니다. 배열 객체의 길이 속성을 사용하여 테스트 할 수 있습니다.

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

출력:

The array is Empty

Java에서 Apache Commons Library를 사용하여 배열 Null 확인

Apache로 작업하는 경우ArrayUtils 클래스를 사용하여 배열이 비어 있는지 확인하십시오. ArrayUtils 클래스는 부울 값을 true 또는 false로 반환하는isEmpty()메서드를 제공합니다. 아파치 라이브러리에 대한 자세한 정보는 여기를 방문하세요.

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

출력:

Array is Empty

Java 8을 사용하여 배열 Null 확인

Java 8 이상 버전으로 작업하는 경우 Arrays 클래스의stream()메서드를 사용하여allMatch()메서드를 호출하여 배열에 null 값이 있는지 여부를 확인할 수 있습니다.

배열에 null 값이 포함 된 경우입니다.

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

출력:

Array is null

관련 문장 - Java Array