Java map null 체크 방법 5가지

Java에서 Map은 매우 유용한 데이터 구조 중 하나이며, 키-값 쌍의 집합을 나타내는데 사용됩니다. 그러나 Map을 다룰 때 가장 자주 발생하는 문제 중 하나는 null 값으로 인한 예외 상황입니다. 이 글에서는 Java map null 체크 방법에 대해 알아보겠습니다.

1. null-safe한 get() 메서드 사용

Map의 get() 메서드를 호출할 때 null 값을 반환하는 경우가 있을 수 있습니다. 이때 null 값을 반환하면 NullPointerException이 발생할 수 있으므로, null-safe한 접근 방법을 사용하는 것이 좋습니다. Java 8 이상에서는 Map의 getOrDefault() 메서드를 활용하여 기본값을 지정할 수 있습니다.

Map<String, Object> map = ...; // Map 초기화
Object value = map.getOrDefault("key", defaultValue);

2. containsKey() 메서드로 키의 존재 여부 확인

Map에서 특정 키의 값이 null인지 확인하려면 먼저 containsKey() 메서드를 사용하여 해당 키가 java Map에 존재하는지 확인합니다.

Map<String, Object> map = ...; // Map 초기화
if (map.containsKey("key")) {
    Object value = map.get("key");
    // value를 처리하는 로직 작성
} else {
    // key가 존재하지 않는 경우 처리
}

3. Java 8의 computeIfAbsent() 사용

Java 8 이상에서는 computeIfAbsent() 메서드를 활용하여 해당 키가 존재하지 않을 때 기본 값을 설정할 수 있습니다.

Map<String, Object> map = ...; // Map 초기화
Object value = map.computeIfAbsent("key", k -> defaultValue);

4. Apache Commons Collections 라이브러리 사용

Apache Commons Collections 라이브러리를 사용하면 null-safe한 기본값을 반환하는 get 메서드인 getOrDefault()를 편리하게 사용할 수 있습니다.

import org.apache.commons.collections4.MapUtils;

Map<String, Object> map = ...; // Map 초기화
Object value = MapUtils.getObject(map, "key", defaultValue);

5. Java 9의 getOrDefault() 메서드

Java 9부터는 Map 인터페이스에 getOrDefault() 메서드가 추가되었습니다.

Map<String, Object> map = ...; // Map 초기화
Object value = map.getOrDefault("key", defaultValue);

위의 방법들을 적절히 선택하여 Map에서 null 값에 대한 안전한 처리를 수행할 수 있습니다. 개발할 때는 NullPointerException이 발생하지 않도록 주의하며, 적절한 방어 로직을 구현하여 안정성을 높이는 것이 중요합니다.

Leave a Comment