본문 바로가기
Java

[ Java ] Map getOrDefault Null-Safe하게 값을 가져오는 법

by 소여물리에 2023. 11. 13.

 

 

Map의 getOrDefault 사용하면 null-safe 하게 값을 가져올 수 있다고 생각했는데

 

HashMap 사용할 경우 override 되어 key의 value가 null인 경우 그대로 null로 리턴된다.

 

 

 

Map<String, Object> map = new HashMap();
map.put("a", null);

// NullPointerException
String s1 = map.getOrDefault("a", 1).toString();

// Null-Safe
String s2 = Optional.ofNullable(map.get("a")).orElse("").toString();

 

따라서 HashMap 사용할 경우 getOrDefault 보다 Optional 함수를 사용하는 것이 좋다.

 

 

 

 

 

 

반응형