Languages/Java

[Java]문자열(String)과 리스트(List)의 null, 빈 값인지 확인하는 방법

MoonSta 2023. 7. 20. 10:10

 Java 프로그래밍 중 사용할 객체를 생성한 후에 인스턴스를 생성하지 않은 상태에서 빈 오브젝트를 사용하려고 할 때 NullPointerException을 발생시킨다. NullPointerException은 가장 많이 발생하는 예외 중 하나로 해당 예외를 발생시키지 않기 위해 nul 체크를 해주어야 한다.

 

 


NullPointerException이 발생하는 유형

Object obj = null;

obj.toString();
obj.equals("");
obj.length();

 

NulllPointerException을 발생시키는 케이스는 보통 다음과 같다.

 

  • null인 상태의 객체에서 메서드를 호출하는 경우
  • null인 상태의 객체의 필드에 접근하는 경우
  • null인 객체의 길이를 구하려는 경우
  • try-catch에서 null을 throw 하는 경우

 


 

NullPointerException을 발생시키지 않으려면?

 

NullPointerException을 발생하지 않으려면 null이 들어올 수 있는 위치에서 다음과 같이 null 체크를 해주어야 한다.

Object obj = null;

if(obj != null) {
    obj.toString();
    obj.equals("");
    obj.length();
}

 

 


 

문자열(String)  Null ,  빈값 체크하는 방법

2023.07.16 - [WEB/Spring] - [Spring] 문자열을 다루는 유용한 라이브러리(StringUtils) 알아보기_1

 

[Spring]문자열을 다루는 유용한 라이브러리(StringUtils) 알아보기_1

Spring에서는 문자열 처리에 다양한 기능이 있는 StringUtils 라이브러리를 제공해 줍니다. 이번 포스팅에서는 해당 라이브러리를 사용하여 문자열을 처리하는 예제를 알아보도록 하겠습니다. StringU

mooonstar.tistory.com

 

 StringUtils이란 클래스를 사용하게 되면 문자열과 관련된 대부분의 처리가 가능합니다. 또한 파라미터 값으로 null을 넘기더라도 NullPointException를 발생시키지 않고 메서드에 따라 적절한 결과를 리턴해줍니다. 자세한 내용은 위의 포스팅을 참고해 주시면 감사하겠습니다.

 

 

 


 

리스트(List) Null 체크하는 방법

 

List<String> list = new ArrayList<>();

if(list == null) {
   System.out.println("List : null");
}

if(list.isEmpty()) {
   System.out.println("List : empty");
}

if(list.size() == 0) {
   System.out.println("List : size0");
}

 

 위와 같은 방법으로 해당하는 리스트(List)가 null, 비어있는지를 간단하게 확인할 수 있다. 하지만 리스트가 Null인 것과 비어있는 것은 차이가 있다. 리스트가 Null이란 것은 현재 인스턴스가 생성되지 않은 즉, 메모리에서 참조하는 주소값이 없는 상태이고 비어있다는 것은 인스턴스가 생성되어 참조하는 주소값은 존재하지만 리스트 내부에 어떠한 요소도 있지 않다는 것이다.