[Java] Cannot instantiate the type Map

보통 이런 에러가 발생하는 원인으로, Map을 new로 구현하려고 할 때 발생한다.

 

에러발생 상황

Map<String, String> map = new Map<String, String> ();

 

왼쪽의 Map<String, String> map 부분은 받아들여지는 부분이라 인터페이스가 와도 상관이 없지만, 우측의 구현하는 new 부분은 Map 인터페이스로 실제 만들어진 클래스가 와야 한다.

 

interface인 Map에 대한 설명

Map을 구현한 대표적인 구현 클래스들 

 

  • ConcurrentHashMap
  • HashMap
  • LinkedHashMap
  • TreeMap

위와 같이, Map의 우측에는 구현(implement)된 클래스들이 와야 한다.

 

HashMap으로 구현한 최종 소스

Map<String, String> map = new HashMap<String, String> ();

 

 

참고자료

https://docs.oracle.com/javase/7/docs/api/java/util/Map.html

반응형

댓글

Designed by JB FACTORY