[JAVA] Map null값 체크방법

    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 체크를 할 수도 있다.

    댓글

    Designed by JB FACTORY