JAVA

commandMap에서 int 값 꺼내기 (Object -> int)

Adev 2023. 1. 29. 00:01

상황

commandMap에서 number타입 값을 꺼내고 강제 형변환을 시켰더니 "cannot be cast to java.lang.Integer" 오류가 발생했다. 

 

ex)
int itemid = (int) commandMap.get("ITEM_ID"); - (x)

 

 

 

해결

1. 먼저 String.valueOf를 사용해서 Object타입을 String 타입으로 변환한다.

 

cf)

commandMap.get("키 값");은 Object 타입이다.

 public Object get(String key){
        return map.get(key);
    }

 

2. 그 다음은 request에서 int값을 가져오는 방법과 동일하다.

 

ex)
int itemid = Integer.parseInt(String.valueOf(commandMap.get("ITEM_ID"))); - (o)