본문 바로가기

안녕하세요!

프로그래밍 언어/Java

[ Java ] cannot be cast to java.math.bigdecimal


 

cannot be cast to java.math.big decimal


 

Java를 사용하여 형 변환을 수행하기 위해서 valueOf를 사용한다.

그러나 HashMap이나 Map을 사용해 데이터를 가죠올 때,

데이터 타입을 Cast하는 과정에서 몇 가지 오류가 발생하기도 한다.

valueOf


 

오류 코드


 

String number = (String) map.get("test");

 

수정 코드


 

String number = String.valueOf(map.get("test"));

 

타입이 Integer인 데이터를 Map으로 받아올 때에는 

String.valueOf() 메서드를 사용하여 Integer를 String으로 형 변환할 수 있다.

 

Integer.parseInt


 

오류 코드


 

int number = (Integer) map.get("test");

 

수정 코드


 

int number = Integer.ParseInt(String.valueOf(map.get("test"));

 

위와 같이 Integer 타입을 String.valueOf() 메서드로 String으로 형 변환 한 후,

Integer.ParseInt()로 다시 Integer 타입으로 변환시켜 주면 된다.

반응형

 

728x90
반응형

'프로그래밍 언어 > Java' 카테고리의 다른 글

[ Java ] Long과 long의 차이점  (60) 2023.11.29
[ Java ] What is the Wrapper Class?  (20) 2023.11.29
[ Java ] HANA CLOUD DB 연동  (0) 2023.01.30
[ JAVA ] 웹 사이트 개발 / GET, POST  (0) 2023.01.26

loading