[Java/JSP/Servlet] cannot cast from object to int.

2020. 1. 28. 17:20프로그래밍/에러

servlet/jsp/java를 사용하다보면 자주 볼 수 있는 에러.

int value =(int)application.getAttribute("value");

application scope 에서 넘어오는 변수들은 object type이고 int형은 primitive type 이다.

따라서 C/C++ 단순히 typecasting 하면 되겠지하는 안일한 생각으로 위 코드처럼 작성하게 되면, 

흔히 볼수 있는 에러

위와 같은 무시무시한 코드를 볼 수 있다.(무려 심각..!)

 

에러를 없애기 위해서는 아래와 코드를 적어야한다.

int value = Integer.parseInt(application.getAttribute("value").toString());

Integer.parseInt 함수는 String형만 인자로 받을 수 있기때문에, 꼭 toString()을 통해서 String형으로 넘어온 object를 

먼저 변환 해주어야 한다.