본문 바로가기
언어/JAVA

[JAVA] emptyMap 사용 시 UnsupportedOperationException

by steadyMan 2023. 3. 22.

Collections.emptyMap()을 사용하면 정적 인스턴스의 Map을 리턴 받을 수 있는데 리턴 받은 Map의 데이터를 가공하려

하면 UnsupportedOperationException이 발생한다. 

 

자바 문서를 보면 친절하게 내용이 나와있는데 

Returns the empty map (immutable). This map is serializable.

변경이 불가능한 empty map을 리턴한다고 되어있다. 

생각해보면 static Map을 리턴하는데 변경이 가능하다면 문제가 발생할 수밖에 없겠다고 생각된다. 

 

Null이 리턴되어 NullPointerException의 발생을 방지하고자  데이터 없는 Map을 리턴해야 할 때 혹은 로직 상 빈 Map이 리턴돼야 할 때 데이터의 가공이 필요 없을 경우 메모리 절약을 위해 emptyMap()을 사용하여 정적 인스턴스를 받아 사용하자

댓글