[JAVA] Map null값 체크방법
- 코딩/Java
- 2022. 5. 5.
Java Map null값 체크하는 방법
Java map null값 체크방법 3가지를 알아보도록하겠습니다.
1. common-collections4 dependency 사용
1. dependency 추가
// https://mvnrepository.com/artifact/org.apache.commons/commons-collections4
implementation group: 'org.apache.commons', name: 'commons-collections4', version: '4.4'
2. MapUtils를 사용하여 null 체크
Map<Stirng, Object> map = new HashMap<String, Object>;
MapUtils.isEmpty(map);
3. MapUtils.isEmpty() 메소드 사용
/**
* Null-safe check if the specified map is empty.
* <p>
* Null returns true.
*
* @param map the map to check, may be null
* @return true if empty or null
* @since 3.2
*/
public static boolean isEmpty(final Map<?,?> map) {
return map == null || map.isEmpty();
}
해당 메소드는 null과 isEmpty() 메소드를 호출하고 boolean 타입으로 리턴해줍니다.
MapUtils를 사용하지 않고 아래와 같이 직접 메소드를 만들어서 해주는 것도 좋을 것 같습니다.
Map<String, Object> map = new HashMap<>();
if (map != null && !map.isEmpty()) {
log.info("map은 빈값이 아닙니다.");
}
2. Java8 Optional 클래스 사용
Optional<Map<String, Object>> optionalMap = Optional.ofNullable(map);
if (optionalMap.isPresent()) {
Map<String, Object> map = optionalMap.get();
// Map 객체가 null이 아닌 경우의 처리
} else {
// Map 객체가 null인 경우의 처리
}
Java 8부터는 Optional 클래스를 사용하여 간결하게 null 체크를 할 수 있습니다.
3. Java11 isPresentOrElse 사용
Map<String, Object> map = null; // 체크할 Map 객체
map.ifPresentOrElse(m -> {
// Map 객체가 null이 아닌 경우의 처리
}, () -> {
// Map 객체가 null인 경우의 처리
});
Optional 클래스를 사용하지 않고 Java 11부터는 Map의 새로운 메서드인 ifPresentOrElse를 사용하여 간결하게 null 체크를 할 수도 있다.
'코딩 > Java' 카테고리의 다른 글
[JAVA] 빌더 패턴(Builder Pattern) 사용해야 하는 이유 (0) | 2022.05.11 |
---|---|
[JAVA] streamApI로 숫자 합산하기 (0) | 2022.05.06 |
[Java] Timestamped LocalDateTime format 변경 (0) | 2021.09.15 |
[JAVA] 문자열 찾기 (Contains, IndexOf, Matches) (0) | 2020.12.11 |
[JAVA/JSP] 세션 시간 설정 (0) | 2020.12.03 |