[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