강의로 돌아가기
이상민

new Integer 꼭 필요한가요?

generic으로 이라 썼는데도 products.put(가위, 2500); 이라 적으면 오류가 나네요.
이미 integer로 선언이 되어 있는데 왜 숫자만 쓰면 오류가 나나요?

작성중인 코드―MapExam.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.*;

public class MapExam{
  public Map<String, Integer> makeMap(){
    Map<String, Integer> products = new HashMap<>();
    //상품의 이름과 값을 products에 추가해 보세요.
    products.put("가위",new Integer (2500));
    products.put("크래파스",new Integer (5000));


    return products;
  }

  public static void main(String[] args){
  }
}
1 개의 답변
Demi

Map 은 primitive types를 인자로 받지 않기 때문에 이런 이슈가 생깁니다.

int와 Integer는 비슷해 보이지만, 사실 완전히 다른 녀석입니다.
int는 primitive type이고, Integer는 클래스이지요.

따라서 primitive type을 받지 않는 Map에서는 int가 아니라 Integer 를 사용해주세요.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.