[Java] 문자열, 객체, 배열 Null Check
StringUtils
org.apache.commons.lang3.StringUtils
요약
- Empty : Null, 공백문자("")
- Blank : Null, 공백문자(""), whitespace(" ")
Empty
- StringUtils.isEmpty : Null 혹은 공백문자("") 이면 true 값 반환
- StringUtils.isNotEmpty : Null 혹은 공백문자("") 이면 false 값 반환
- StringUtils.isAnyEmpty : 문자들 중 Null 혹은 공백문자("") 있을 시 true 값 반환
- StringUtils.isNoneEmpty : 문자들 중 Null 혹은 공백문자("") 있을 시 false 값 반환
- StringUtils.isAllEmpty : 모든 문자열들이 Null 혹은 공백문자("") 이면 true 값 반환
example
StringUtils.isEmpty(null); // true
StringUtils.isEmpty(""); // true
StringUtils.isNotEmpty(null); // false
StringUtils.isNotEmpty(""); // false
StringUtils.isAnyEmpty(null); // true
StringUtils.isAnyEmpty(null, "red"); // true
StringUtils.isAnyEmpty(new String[]{""}); // true
StringUtils.isNoneEmpty(null); // false
StringUtils.isNoneEmpty("", "red"); // false
StringUtils.isAllEmpty("red"); // false
StringUtils.isAllEmpty("", null); // true
StringUtils.isAllEmpty("", null, "red"); // false
Blank
- StringUtils.isBlank : Null 혹은 공백문자("") 혹은 whitespace(" ") 이면 true 값 반환
- StringUtils.isNotBlank : Null 혹은 공백문자("") 혹은 whitespace(" ") 이면 false 값 반환
- StringUtils.isAnyBlank : 문자들 중 Null 혹은 공백문자("") 혹은 whitespace(" ")있을 시 true 값 반환
- StringUtils.isNoneBlank : 문자들 중 Null 혹은 공백문자("") 혹은 whitespace(" ") 있을 시 false 값 반환
ObjectUtils
org.apache.commons.lang.ObjectUtils
BooleanUtils, CharUtils, ClassUtils, CharSetUtils, LocaleUtils 클래스들을 포괄하는 클래스이다.
기능은 적지만, 모든 Object에 사용가능하기 때문에 적절히 잘 사용하면 편리하다.
- ObjectUtils.defaultIfNull : object가 Null일 경우 대체값 설정 가능
- ObjectUtils.isEmpty : Null, 공백문자(""), 빈배열 체크
- ObjectUtils.equals
example
ObjectUtils.isEmpty(null); // true
ObjectUtils.isEmpty(""); // true
ObjectUtils.isEmpty(new String[]{}); // true
ObjectUtils.isEmpty(new Object()); // false
ObjectUtils.isEmpty("red"); // false
ObjectUtils.isEmpty(123); // false
CollectionUtils
- CollectionUtils.isEmpty : Null 혹인 빈 객체(size == 0)
List가 Null인 경우는 아직 인스턴스가 생성되지 않아 참조할 메모리 주소값이 없다는 것이다.
인스턴스가 생성이 된 상태에서 아무것도 들어있지 않을(size == 0) 경우도 Empty에 포함된다.
example
CollectionUtils.isEmpty(null); // true
CollectionUtils.isEmpty(new ArrayList<>()); // true
CollectionUtils 대신 List에도 isEmpty가 존재하지만, List가 Null인 경우는 NullPointerException이 날 수 있기 때문에 CollectionUtils 를 사용하는 것이 더 안전하다.
'JAVA > Java' 카테고리의 다른 글
[Java] 객체 매핑 라이브러리 ModelMapper 살펴보자 (1) | 2022.12.12 |
---|---|
[Java] Java Stream 활용하여 두 개의 List 객체 비교하기 (0) | 2022.12.12 |
[Java] 중복 키 허용 MultiValueMap 와 HashMap 차이 (0) | 2022.12.12 |
[Java] Comparator, Lamda 사용하여 2차원 배열 정렬하기 (0) | 2022.12.12 |
[Java] Arrays.sort 와 Collections.sort 정리 (0) | 2022.12.12 |
[Java] StringTokenizer Class 사용 및 Split 비교 (0) | 2022.12.12 |
[Java] 스트림 (Stream) 타입별 변환 (0) | 2022.12.12 |
[Java] POI 엑셀 다운로드 시 Invalid char (/) found at index (6) in sheet name 에러 (0) | 2022.12.12 |