본문 바로가기
개발자 일지/Java

[에러]java.lang.Integer cannot be cast to java.lang.String 해결방법

by 네빌링 2022. 5. 27.
반응형

-java.lang.Integer cannot be cast to java.lang.String 해결방법을 알아본다.


1.에러 내용


캐스팅 대상이 Integer(int)인 경우 String으로 캐스팅할 때 (String)을 붙여 캐스팅하면 이 에러가 발생한다. 나는 프로젝트에서 map.get(값)으로 가져온 값이 int값인데 (String)map.get(값)으로 캐스팅하면서 발생했다. VO를 만들어 쓸 걸 그랬다.


2.해결 방법


String으로 캐스팅하려면 방법이 여러가지 있지만 보통 (String)으로 처리할 수 있다.
그러나 이건 캐스팅 대상이 문자열일 때 사용 가능하다. 캐스팅 대상이 실제로 Integer 타입이면 바로 (String)캐스팅시 저런 에러가 발생한다.

이럴 때 String.valueOf()를 사용한다.

//이러면 캐스팅 에러
int a = 0;
String b = (String)a;

//이렇게 사용
String b = String.valueOf(a);



출처
https://allmana.tistory.com/58

반응형