[Java] String / List Null 체크, Empty 체크

Song_Song·2021년 10월 28일
0
post-custom-banner

String Null Check

isEmpty()

length가 0 이면 true, 이외엔 모두 false (Java 1.6부터 제공)

if (str == null || str.isEmpty()){
	System.out.println("NULL!");
}

isEmpty()는 null check를 따로 하지 않기 때문에 null이 들어오면 (NPE)NullPointException를 뱉는다. 때문에 null 체크를 같이 해줘야 한다.

isEmpty() 는 "".equals(str)과 같은 기능을 하나 더 빠르다. JDK 1.6 이상의 버전을 사용한다면 isEmpty()를 사용하자.

isBlank()

length가 0 이거나 true, ' ' (blank) 도 true (Java 11부터 제공)

(isEmpty()는 ""는 true로 인식하나 " " 처럼 빈칸 들어간 건 false를 뱉는다.
반면에 isBlank()는 " " 도 true로 인식)




StringUtils In Apache Commons Library

: null 처리를 추가로 처리해야 하는 위 Java 기본으로 제공하는 메소드와는 다르게, SpringUtils 라이브러리에서 제공하는 메소드들은 Null처리를 자동으로 해주어 NPE를 내지 않는 장점이 있다.

StringUtils.isEmpty

length가 0 이면 true, 이외엔 모두 false + NULL Check
즉, 위에 사용한 isEmpty() 와 null check를 같이 사용한 것과 같은 기능이다.

import org.apache.commons.lang3.StringUtils

if (StringUtils.isEmpty) {
	System.out.println("NULL!");
}

StringUtils.isBlank()

length가 0이거나 true, '' (blank) 도 true + NULL Check
위에 사용한 isBlank() 와 null check를 같이 사용한 것과 같은 기능이다.




List Null Check

List는 빈 값이 전달 되더라도 [] 가 전달되기 때문에 isEmpty()를 사용하자.
( list == null 은 사용하지 않는다.)

profile
성장을 위한 정리 블로그
post-custom-banner

0개의 댓글