Java map null 체크 방법 4가지 알아보기

Java map null체크 방법

Java에서 Map은 Key와 Value의 쌍으로 데이터를 저장하고 관리하는 매우 유용한 자료구조입니다. 그러나 이러한 Map을 사용할 때, 값이 null인지 아닌지 확인하는 것은 필수적입니다. 이 문제를 해결하기 위한 Java map null 체크 4가지 방법에 대해 알아보겠습니다.

1. Map.get() 메소드 사용

가장 기본적인 방법은 Map.get(key) 메소드를 사용하여 key에 해당하는 value를 얻은 뒤, 그 value가 null인지 확인하는 것입니다. 이 방법은 간단하지만, 키가 Map에 존재하지 않을 경우에도 null을 반환하므로, 값이 null인지, 키가 없는지 구분하기 어려울 수 있습니다.

Map<String, String> map = new HashMap<>();
map.put("key1", null);
if(map.get("key1") == null) {
    System.out.println("The value is null.");
}

2. Map.containsKey() 메소드 사용

Map.containsKey(key) 메소드를 사용하면 키가 Map에 존재하는지 확인할 수 있습니다. 이 방법을 사용하면, 키가 존재하지 않는 경우와 값이 null인 경우를 구분할 수 있습니다.

Map<String, String> map = new HashMap<>();
map.put("key1", null);
if(map.containsKey("key1") && map.get("key1") == null) {
    System.out.println("The value is null.");
}

3. Map.getOrDefault() 메소드 사용

Java 8에서 도입된 Map.getOrDefault(key, defaultValue) 메소드를 사용하면, 키가 Map에 존재하지 않을 때 기본값을 반환할 수 있습니다. 이 방법은 기본값을 설정할 수 있어서 편리하지만, 값이 null인지, 기본값이 반환된 것인지 확인할 수 없습니다.

Map<String, Object> map = ...; // Map 변수 선언

Object value = map.get("key");

if (value != null) {
    // value가 null이 아닌 경우 처리 로직
} else {
    // value가 null인 경우 처리 로직
}

4. Optional과 Map.get() 조합 사용

Java 8의 Optional을 사용하면 NullPointerException을 피할 수 있습니다. Optional.ofNullable(map.get(key))를 사용하면, 키가 없거나 값이 null인 경우에도 안전하게 처리할 수 있습니다.

Map<String, String> map = new HashMap<>();
map.put("key1", null);
Optional<String> value = Optional.ofNullable(map.get("key1"));
if(!value.isPresent()) {
    System.out.println("The value is null or key does not exist.");
}

Leave a Comment